JS加密、JS混淆,是一回事吗?
是的!在国内,JS加密,其实就是指JS混淆。
1、当人们提起JS加密时,通常是指对JS代码进行混淆加密处理,而不是指JS加密算法(如xor加密算法、md5加密算法、base64加密算法,等等...)
2、而“JS混淆”这个词,来源于国外的称呼,在国外称为javascript obfuscate或js obfuscate,obfuscate的本意是“混淆”。所以,有的人用国外的翻译名称,称为js混淆。
3、无论是js加密,还是js混淆,他们的功能,都是对js代码进行保护,使可读的明文js代码变的不可读,防护自己写的js代码被他人随意阅读、分析、复制盗用。
4、之所以进行js加密,原是因为js代码是明文编程,无论是前端网页环境的js代码,还是nodejs后端代码,都是直接执行编写好的源代码(不像其它语言一样有编译的过程,执行和对外发布时使用的是编译后的程序,js是直接执行源码、对外发布也是源码),所以,为了提升js代码安全性,就有了js加密、js混淆操作。
5、很多人讨论JS加密的必要性,有的人认为很重要,有的人认为不需要,人们看法并不统一。简单来说:如果是无所谓的代码,随便别人怎么拷贝或修改都无所谓,那就直接不用管。如果代码有价值,不希望别人随便copy去使用、不想让别人知道其中逻辑等等,那就加密。加密后的js代码,不一定能保证100%安全了,但肯定比不加密强,很简单的道理。
6、怎样进行js加密、js混淆?非常简单,有不少成熟产品,比如JShaman、JS-Obfuscator、JsJiami.Online等等,一般都是一键式操作,简单的很、方便的很、快捷的很,对程序员朋友来说完全是小case。