
获得徽章 0
- 问:“js加密”和“js压缩”有什么不同?
答:“js加密”是让js代码变的看不懂;“js压缩”是让js代码变的更小。
例:一句js代码:
var name_age = "tom" + 18;
用JShaman进行“js加密”,会变成:
var _0x186fc6="\u0074\u006f\u006d"+(0x88155^0x88147);
而如果用JShaman进行“js压缩”,会变成:
var _n="tom18";展开评论1 - 谈到前端JS代码混淆加密时,经常看到有人说:“根本不用混淆加密,把JS代码编译成WASM就行了。”
持此观点的朋友,想必还没有实践过,只是听说WASM能编译JS。
要知道:WASM(WebAssembly)有很多局限,仅对前端JS编程而言,众多的前端常用语法是不支持的,比如:alert、console.log、document.getElementById等等,都是不能编译成WASM的。
WASM的主要能力是让浏览器一定程度上运行非JS编程语言,而非进行JS混淆加密。
JS混淆加密,还得靠JS混淆加密工具,如:JShaman、JsJiaMi.online等。展开评论1 - js混淆、js加密,是一回事吗?
是的,js混淆、js加密指的是同一件事。
习惯上,国内称js加密,而国外叫做obfuscate,翻译为中文为混淆,其实是一样的。都是指对js代码进行保护,比如把变量名变的无意义,把字符串加密、把执行流程打乱,等等。目的是让js代码失去可读性、变的难以理解。防止自己写的代码被他人使用或分析。
js混淆、js加密已经是个成熟的行业,有不少流行的工具,而且通常是saas模式的在线网站,比如js-obfuscator、jshaman、jsjiami.online,这些网站都是专业的js混淆加密工具。
而在js编程中,还有另一种加密,是指加密算法,比如md5加密、base64加密,但一般直接叫作加密算法,而不叫js混淆或js加密。展开评论2 - 公开透明,JavaScript是编程语言中唯一具有公开透明特点的语言。运行于浏览器的JavaScript代码,只需在浏览器中右键查看网页源码,便可得获得源码,可以分析功能逻辑、可以复制、可以运行调试。因此,JavaScript的代码安全性较差,为了提高代码安全性,防止代码被任意分析、复制、盗用。JavaScript开发的功能在发布前通常需要先用JShaman、JS-Obfuscator、JsJiaMi.Online等工具进行JavaScript混淆加密,以解决其公开透明特性带来的代码不安全问题。展开42