Javascript用eval方法加密源代码的解密方法

总有些人喜欢对javascript代码进行一些加密,当然这样在一定程度上保护了你的代码,但并不绝对,个人认为,前端的Javascript代码并没有所谓真正意义上的加密,因为你的代码总是会暴露给客户端。

与其这样过于保守且意义不大的加密,不如将代码以源码的形式发布,岂不简单很多?

而使用eval的方式加密javascript代码,尤其容易解密,我们只需模拟执行一次eval动作,把结果显示在文本框中即可。

	var a = 62;
	
	/**
	 * js的eval加密方法
	 */
	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; i35?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方法在线加密解密工具

这篇文章目前有4条评论

  1. 小D 2011-11-01 16:26

    JS加密…有意义吗?? (尴尬)

    沙发王 !
  2. renenglish 2011-11-11 17:36

    num 函数是什么原理?

    板凳党 !
    • crossyou 2011-11-12 00:15

      num?? 这是个什么函数?

  3. renenglish 2011-12-05 17:09

    终于明白这种JS加密的意义了:防抓取
    比如有些电影网站,把播放代码和电影url加密,这样抓取程序就抓不到了,除非专门针对这个站的解码再抓取。

    地板砖 !
Leave a Reply

(必填项)

(必填项)

(可选)