1. 首页 > 科技

帮忙分析js前端加密过程,(RMB)有偿解答? js加密解密

帮忙分析js前端加密过程,(RMB)有偿解答?js加密解密

URL请求对参数前端JS加密,后台JAVA解密

数字的话可以使用 Base62 算法,不过这只是表面的转换,因为算法是写在Js里的,稍加分析就能知道怎么去翻转。

如果要有效加密的话,可以使用js调用RSA算法进行加密,这样js中只会暴露公钥,可以实现安全的加密。

网上多得很。

一段加密的js请帮忙解密,最好能说下方法

方法就是用 tool.chinaz/Tools/ScriptEncode.aspx 加密工具,不过自己设置加密才是最厉害的

求助前端JS都是用什么加密的

写过 js混淆器,谈一些浅显的个人看法。<br><br>个人认为,js的不可读化处理分为三个方面:压缩(compression)、混淆(obfuscation) 和加密(encryption)。 (不可读化处理,这是我自己发明的术语,一切会增加代码不可读性的代码转换, 都可以这么叫,“增加代码不可读性”可能是代码转换的结果或者目的).<br><br>1. 压缩<br><br>这一操作的目的,是让最终代码传输量 (不代表代码量, 也不代表文件体积)尽可能小。压缩js的工具,常见的有:YUI Compressor、UglifyJS、Google Closure Compiler 等。<br><br>通常在代码压缩的过程中,只改变代码的语法,代码的语义和控制流不会有太大改变。<br><br>常见做法是把局部变量缩短化,把一些运算进行等价替换等。代码压缩对于代码保护有一些帮助,但由于语义和控制流基本没变,起不了太大作用。<br><br>在压缩层面上,代码不可读只是一种附带伤害,不是最终目的。<br><br>2. 混淆<br><br>这一操作的目的,是让代码尽可能地不可读,主要用作代码保护。<br><br>让代码不可读,增加分析的难度,这是唯一目的。混淆过后文件体积变大一倍也没关系,代码量变多也没关系,运算慢50% 也没关系。<br><br>常见的做法有:分离常量、打乱控制流、增加无义代码、检查运行环境如果不对就罢工,等等。<br><br>在混淆层面上,代码不可读是最终目的。<br><br>值得一提的是,Google Closure Compiler 的 Advance Level Compression 会压缩类和对象的成员,其压缩结果很难分析,也可以认为是一种混淆,但兼容性不太好。<br><br>广告时间:我写的 js混淆器,中文名叫 “看起来很厉害的 JS 编译器”, 英文名叫做 The Impressive JS.Segment.Compiler ,  看起来很厉害的 JS 编译器 。<br><br>3. 加密<br><br>说实话我很难对加密做一个定义,因为加密在Web界有太多歧义了。<br><br>有加密就有解密,意味着加密操作可逆,密文可以明文化。<br><br>就这样看来,在Web界,可以称之为加密的东西包括:HTTPS传输、JavaScript实现对称加密或者不对称加密等等。<br><br>这样看来,不可逆的代码压缩和混淆就不能列入加密这个范畴了。<br><br>非要找一个可以称之为加密,又经常被人误解为压缩和混淆的东西,Dean Edwards 的 Dean Packer/Unpacker 可以拿来做个例子。<br><br>比如我们把 var num=1;alert(num);<br><br> 输入 Dean Packer,pack 一下,得到这么一串东西,是不是看着非常像被压缩和混淆过的代码?<br><br>把上面那串意义不明物拿来 unpack 一下,得到了原文。<br><br>实际上 Dean Packer 只是对源码进行了一个字符串变换,没有深入到代码语法层面,你可以拿 "Hello world, 你好师姐" 来试试。<br><br>用Online JavaScript beautifier 能轻松把这串东西还原为 “Hello world, 你好师姐”。<br><br>可以看出,代码加密意味着:将代码明文进行可逆的变换(加密),生成密文;将密文进行逆变换(解密),可以还原明文;最终运行环境运行的是解密代码。<br><br>结语<br><br>实际上大家对压缩、混淆、加密这三个概念还是挺不清晰的,我在这里说一些个人见解,希望有帮助。<br><br>在现实项目中,我是多种手段结合的:<br><br>对于不需要做代码保护的项目,比如个人博客,做代码压缩,加快载入速度,这就够了。<br>对于需要做一些代码保护,防止抄袭的项目,可以在源码中加入一些开发者的信息和防护代码,然后混淆和压缩。很不幸的是,我这方面总是做得不太好,防君子防不了小人啊哈哈。<br>对于需要严格加密的项目,可以用 混淆、压缩、加密、签名检查 等多种手段,这我就不清楚了,等大婶来补充。

如何前台JS进行加密,后台java进行解密?

很不幸,就以我的知识范围,纯粹的JS无法做到百分百的安全。理由如下:

1. 现在的浏览器端可以直接看到你的JS代码,JS代码都是明文的。尽管你可以压缩,混淆,但是也是加大hack的难度,无法彻底对浏览器不可见。既然你的代码都被看见了,那么Hash,加密都是扯淡了。

2. 对内容加密可以使用HTTPS,这点不假。但是这仅仅能够抵抗抓包工具,但是通过浏览器的开发工具,仍然能够看到你的请求内容,格式。那么就可以按照你的格式伪造请求。我们就可以通过伪造请求修改某社交网站的用户设置。

3.

结论:纯粹JS看起来无法满足你的需求,但是可以使用object标签,自己开发控件进行数据加密,这点事可以的。但是这就超出了JS的范围。并且Object的这个话题太大,我没办法给你展开,你自己研究下吧