对javascript脚本进行压缩(混淆)处理可有效减小脚本文件大小,利于网络传输的同时也在安全性上有了一定提高。
解压缩工具
[url]http://aymoo.cn/js-compressor.html[/url]
算法原理
从javascript脚本文件中提取单词,存入字典表中,这里使用|分割的字符串,然后将单词对应的序号(仿base64编码值)写入原来代码的地方,形成压缩后的js代码
压缩代码
a=62;
function encode() {
var code = document.getElementById(‘code’).value;
code = code.replace(/[rn]+/g, ”);
code = code.replace(/’/g, “‘”);
var tmp = code.match(/b(w+)b/g);
tmp.sort();
var dict = [];
var i, t = ”;
for(var i=0; i
+ “‘”+code+”‘,”+a+”,”+len+”,'”+ dict.join(‘|’)+”‘.split(‘|’),0,{}))”;
}
function num(c) {
return(c35?String.fromCharCode(c+29):c.toString(36));
}
解压代码
function decode() {
var code = document.getElementById(‘code’).value;
code = code.replace(/^eval/, ”);
document.getElementById(‘code’).value = eval(code);
}