admin 管理员组文章数量: 1086019
2024年3月13日发(作者:switch逻辑框图)
简单加密的几个方法
在做网页时,最让人烦恼的是自己辛辛苦苦写出来的客户端IE运行的JS代码常常被
别人轻易的拷贝,或者是让人容易从代码中获取到关键的网址或者内容进行攻击。于是对
这些代码加密就出现了。但是因为JS代码是需要在浏览器解析运行的,要做到绝密是不可
能的,所以只能对JS代码进行简单的加密,希望让居心叵测者知难而退。
网上流行的js加密就是把代码混淆或者把代码压缩。
代码混淆可以在这个网站实现:/
代码压缩,可以在这个网站实现: /
压缩不是最好的加密方法,压缩后一些关键的字眼还是能看到,所以一般运用代码混
淆方法。混淆也就是颠倒是非、混淆黑白,无非就是去掉缩进、空格、空行和注释,改表
代码中的非保留字为简单的字母、符号、乱码什么的,这样做只是为了加大代码的阅读难
度,提高阅读成本,让一些普通用户不能简单的获取或者修改代码。下面列举五种常见的
混淆代码方式。
一:通过编码方式
二:eval(function(p,a,c,k,e,r) 函数混乱方式
三:使用Microsoft出品的脚本编码器Script Encoder来进行编码
四:任意添加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(),加密后的结果如下: