总有些人喜欢对javascript代码进行一些加密,当然这样在一定程度上保护了你的代码,但并不绝对,个人认为,前端的Javascript代码并没有所谓真正意义上的加密,因为你的代码总是会暴露给客户端。
与其这样过于保守且意义不大的加密,不如将代码以源码的形式发布,岂不简单很多?
而使用eval的方式加密javascript代码,尤其容易解密,我们只需模拟执行一次eval动作,把结果显示在文本框中即可。
var a = 62; /** * js的eval加密方法 */ function encode() { var code = document.getElementById('code').value; code = code.replace(/[\r\n]+/g, ''); code = code.replace(/'/g, "\\'"); var tmp = code.match(/\b(\w+)\b/g); tmp.sort(); var dict = []; var i, t = ''; for(var i=0; i35?String.fromCharCode(c+29):c.toString(36))};if(!''.replace(/^/,String)){while(c--)d[e(c)]=k[c]||e(c);k=[function(e){return d[e]}];e=function(){return'\\\\w+'};c=1};while(c--)if(k[c])p=p.replace(new RegExp('\\\\b'+e(c)+'\\\\b','g'),k[c]);return p}(" + "'"+code+"',"+a+","+len+",'"+ dict.join('|')+"'.split('|'),0,{}))"; } function num(c) { return(c35?String.fromCharCode(c+29):c.toString(36)); } function run() { eval(document.getElementById('code').value); } /** * js的eval解密方法 * */ function decode() { var code = document.getElementById('code').value; code = code.replace(/^eval/, ''); document.getElementById('code').value = eval(code); }
上面代码即为,解密的主要代码,点击下面的链接查看演示:
Demo:js的eval方法在线加密解密工具