混淆加密JS,可以压缩代码体积吗?
为了提高代码安全性,很多开发者会对JS代码进行混淆加密。
有人疑惑,混淆加密是否具有压缩效果,能否使JS代码体积减小?
本文,通过实测,对此进行答疑解惑。
首先给出答案:混淆加密对JS代码而言是具有压缩效果的。
以国内知名的JS混淆加密平台JShaman为例,其在混淆加密JS代码时,就有压缩功能。
压缩的原理,有多种,比如:去除空格、去除回车换行、去除注释、将长变量名变短等。
下面,举例展示:
示例代码:
function get_copyright(){
var domain = "JShaman专注于JS代码混淆加密";
var from_year = 2017;
var copyright = "(c)" + from_year + "-" + (new Date).getFullYear() + "," + domain;
return copyright;
}
//输出信息
console.log(get_copyright());
经JShaman混淆加密:
由图可见,原始JS代码长度为240字节,经JShaman混淆加密,去除了回车换行、长变量名变成了短变量名、函数调用变成了自执行函数,代码长度变成了130字节,压缩率达54%,可见混淆加密,是具有压缩代码效果的。
备注:此测试,使用JShaman专业版,未开启全部混淆加密选项,选用了对压缩友好的混淆加密功能。