教学文库网 - 权威文档分享云平台
您的当前位置:首页 > 精品文档 > 法律文档 >

javascript 代码 简单加密的几个方法

来源:网络收集 时间:2025-09-17
导读: javascript 代码 简单加密 简单加密的几个方法 在做网页时,最让人烦恼的是自己辛辛苦苦写出来的客户端IE运行的JS代码常常被别人轻易的拷贝,或者是让人容易从代码中获取到关键的网址或者内容进行攻击。于是对这些代码加密就出现了。但是因为JS代码是需要在

javascript 代码 简单加密

简单加密的几个方法

在做网页时,最让人烦恼的是自己辛辛苦苦写出来的客户端IE运行的JS代码常常被别人轻易的拷贝,或者是让人容易从代码中获取到关键的网址或者内容进行攻击。于是对这些代码加密就出现了。但是因为JS代码是需要在浏览器解析运行的,要做到绝密是不可能的,所以只能对JS代码进行简单的加密,希望让居心叵测者知难而退。

网上流行的js加密就是把代码混淆或者把代码压缩。

代码混淆可以在这个网站实现:http://doc.guandang.net/jiamijiemi.html

代码压缩,可以在这个网站实现: 压缩不是最好的加密方法,压缩后一些关键的字眼还是能看到,所以一般运用代码混淆方法。混淆也就是颠倒是非、混淆黑白,无非就是去掉缩进、空格、空行和注释,改表代码中的非保留字为简单的字母、符号、乱码什么的,这样做只是为了加大代码的阅读难度,提高阅读成本,让一些普通用户不能简单的获取或者修改代码。下面列举五种常见的混淆代码方式。

一:通过编码方式

二:eval(function(p,a,c,k,e,r) 函数混乱方式

三:使用Microsoft出品的脚本编码器Script Encoder来进行编码

javascript 代码 简单加密

四:任意添加NUL空字符和无用内容混乱以及换行空格TAB方式 五:自写加密 解密函数方式

以加密下面简单的JAVASCRIPT代码为例:

alert("你好");

一:通过编码方式加密 (最简单的加密解密)

JAVASCRIPT函数里面有escape()和unescape(),encodeURI()和unencodeURI(),,encodeURIComponent()和unencodeURIComponetn();这三对函数进行字符串的编码解码,把代码编码后,就会出现像乱码一样的效果,这样就可以达到混淆的目的。比如例子代码用escape()函数加密后变为如下格式:

alert%28%22%u4F60%u597D%22%29%3B

当然,这样加密后的代码是不能直接运行的,需要用eval(codeString),这个函数的作用就是检查JavaScript代码并执行,必选项 codeString 参数是包含有效 JavaScript 代码的字符串值,加上上面的解码unescape(),加密后的结果如下:

<SCRIPT LANGUAGE="JavaScript">

var code=unescape("alert%28%22%u4F60%u597D%22%29%3B "); eval(code)

javascript 代码 简单加密

</SCRIPT>

而且 编码函数 还可以 进行二次,三次,n次,编码。

二次加密后 例子代码 变成:

alert%2528%2522%25u4F60%25u597D%2522%2529%253B (escape解码编码的程序escape加密解密.html)

这样的加密虽然简单,但是因为要代码能运行,必须加上unescape,这样就非常容易被人知道用什么方式加密了。

二:eval(function(p,a,c,k,e,r) 函数混乱方式

NewMapServer里面的NewMapServerJsAPI.js 就是运用这种方法加密的。Function(p,a,c,k,e,r)就是一个混乱函数。

运用eval(function(p,a,c,k,e,r)加密例子 可以得到:

(function(p,a,c,k,e,d){e=function(c){return(c<a?'':e(parseInt(c/a)))+((c=c%a)>35?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

");',62,1,'alert'.split('|'),0,{}))

这种函数写法很多,但是比较容易破解,因为原理就在p=p.replace(new RegExp()) 这里,在这个函数调用之前 把p 读出来。p}('0("你好

javascript 代码 简单加密

例如用document.write(p); 就能得到没加密的内容了。而解密函数都是统一的,只要把/^/ 替换为''(也就是空字符),就可以解了。code = code.replace(/^/, '');

(eval(function(p,a,c,k,e,r)加密解密代码在eval加密解密.html)

三:使用Microsoft出品的脚本编码器Script Encoder来进行编码

这种加密就是直接使用JavaScript调用控件Scripting.Encoder完成的编码!代码如下:

<SCRIPT LANGUAGE="JavaScript">

var Senc=new ActiveXObject("Scripting.Encoder");

var code='<SCRIPT LANGUAGE="JavaScript">\r\nalert("你好");\r\n<\/SCRIPT>';

var Encode=Senc.EncodeScriptFile(".htm",code,0,"");

alert(Encode);

</SCRIPT>

编码后的结果如下:

#@~^FgAAAA==@#@&ls DD`J你好r#p@#@&FgMAAA==^#~@

这种加密虽然难看懂,但相应的解密工具早已出来,而且连解密网页

javascript 代码 简单加密

都有了,而且ActiveXObject控件只有在IE支持。

(Script Encoder 加密解密代码 encode加密解密.html)

四:任意添加NUL空字符(十六进制00H)和无用内容混乱以

及换行空格TAB方式

在HTML网页中任意位置添加任意个数的"空字符",IE照样会正常显示其中的内容,并正常执行其中的JavaScript 代码,而添加的"空字符"我们在用一般的编辑器查看时,会显示形如空格或黑块,使得原码很难看懂,如用记事本查看则"空字符"会变成"空格",利用这个原理加密结果如下:(其中显示的"空格"代表"空字符") <S C RI P T L ANG U A G E =" J a v a S c r i p t ">

a l er t (" 你 好") ;

< / SC R I P T>

这样看起来也不太好看,但是作用不大。

在JAVASCRIPT代码中我们可以加入大量的无用字符串或数字,(只要个数字组和字符窜后面都有分号就可以,js里面会忽略这些数字和字符窜)以及无用代码和注释内容等等,使真正的有用代码埋没在其中,并把有用的代码中能加入换行、空格、TAB的地方加入大量换行、空格、TAB,并可以把正常的字符串用"\"来进行换行,这样

javascript 代码 简单加密

就会使得代码难以看懂!如下:

<SCRIPT LANGUAGE="JavaScript">

"xajgxsadffgds";1234567890

625623216;var $=0;alert//@$%%&*()(&(^%^

//cctv function//

(//hhsaasajx xc

/*

asjgdsgu*/

"你\

\

好"//ashjgfgf

/*

@#%$^&%$96667r45fggbhytjty

*/

//window

)

;"#@$#%@#432hu";212351436

</SCRIPT>

这样的代码可读性和想读性都非常低。

五:自己写加密 解密函数方式

javascript 代码 简单加密

之前四种加密方式,各有各的好处,不过前三种都是在网上存在大量的破解方式,第四种自己加密起来比较复杂,对比较多的代码操作起来不方便。那么如果自己编写加密解密函数,就能一次解决上面的问题了。自己编写的思路有三种,一种是已知的加密解密方法混合;第二是已知的加密解密方法加上一些自编的函数;第三 …… 此处隐藏:2345字,全部文档内容请下载后查看。喜欢就下载吧 ……

javascript 代码 简单加密的几个方法.doc 将本文的Word文档下载到电脑,方便复制、编辑、收藏和打印
本文链接:https://www.jiaowen.net/wendang/1418956.html(转载请注明文章来源)
Copyright © 2020-2025 教文网 版权所有
声明 :本网站尊重并保护知识产权,根据《信息网络传播权保护条例》,如果我们转载的作品侵犯了您的权利,请在一个月内通知我们,我们会及时删除。
客服QQ:78024566 邮箱:78024566@qq.com
苏ICP备19068818号-2
Top
× 游客快捷下载通道(下载后可以自由复制和排版)
VIP包月下载
特价:29 元/月 原价:99元
低至 0.3 元/份 每月下载150
全站内容免费自由复制
VIP包月下载
特价:29 元/月 原价:99元
低至 0.3 元/份 每月下载150
全站内容免费自由复制
注:下载文档有可能出现无法下载或内容有问题,请联系客服协助您处理。
× 常见问题(客服时间:周一到周五 9:30-18:00)