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(),加密后的结果如下: