JavaScript加密解密的七种方法.docVIP

  1. 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
  2. 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  3. 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
  4. 4、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
  5. 5、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们
  6. 6、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
  7. 7、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
JavaScript加密解密的七种方法

JavaScript加密解密7种方法 本文一共介绍了七种JAVASCRIPT加密方法:   在做网页时(其实是网页木马呵呵),最让人烦恼的是自己辛辛苦苦写出来的客户端IE运行的JAVASCRIPT代码常常被别人轻易的拷贝,实在让自己的心里有点不是滋味,要知道自己写点东西也挺累的......^*^   但我们也应该清楚地认识到因为JAVASCRIPT代码是在IE中解释执行,要想绝对的保密是不可能的,我们要做的就是尽可能的增大拷贝者复制的难度,让他知难而退(但愿~!~),下面我结合自己这几年来的实践,及个人研究的心得,和大家一起来探讨一下网页中JAVASCRIPT代码的加密解密技术。   以加密下面的JAVASCRIPT代码为例: SCRIPT LANGUAGE=JavaScript alert(《黑客防线》); /SCRIPT   一:最简单的加密解密   大家对于JAVASCRIPT函数escape()和unescape()想必是比较了解啦(很多网页加密在用它们),分别是编码和解码字符串,比如例子代码用escape()函数加密后变为如下格式: alert%28%22%u9ED1%u5BA2%u9632%u7EBF%22%29%3B   如何?还看的懂吗?当然其中的ASCII字符alert并没有被加密,如果愿意我们可以写点JAVASCRIPT代码重新把它加密如下: %61%6C%65%72%74%28%22%u9ED1%u5BA2%u9632%u7EBF%22%29%3B   呵呵!如何?这次是完全都加密了!   当然,这样加密后的代码是不能直接运行的,幸好还有eval(codeString)可用,这个函数的作用就是检查JavaScript代码并执行,必选项 codeString 参数是包含有效 JavaScript 代码的字符串值,加上上面的解码unescape(),加密后的结果如下: SCRIPT LANGUAGE=JavaScript var code=unescape(%61%6C%65%72%74%28%22%u9ED1%u5BA2%u9632%u7EBF%22%29%3B); eval(code) /SCRIPT   是不是很简单?不要高兴,解密也就同样的简单,解密代码都摆给别人啦(unescape())!呵呵   二:转义字符的妙用   大家可能对转义字符不太熟悉,但对于JavaScript提供了一些特殊字符如:n (换行)、 r (回车)、 (单引号)等应该是有所了解的吧?其实后面还可以跟八进制或十六进制的数字,如字符a则可以表示为:141或x61(注意是小写字符x),至于双字节字符如汉字黑则仅能用十六进制表示为u9ED1(注意是小写字符u),其中字符u表示是双字节字符,根据这个原理例子代码则可以表示为:   八进制转义字符串如下: SCRIPT LANGUAGE=JavaScript eval(1411541451621645042u9ED1u5BA2u9632u7EBF425173) /SCRIPT   十六进制转义字符串如下: SCRIPT LANGUAGE=JavaScript eval(x61x6Cx65x72x74x28x22u9ED1u5BA2u9632u7EBFx22x29x3B) /SCRIPT   这次没有了解码函数,因为JavaScript执行时会自行转换,同样解码也是很简单如下: SCRIPT LANGUAGE=JavaScript alert(x61x6Cx65x72x74x28x22u9ED1u5BA2u9632u7EBFx22x29x3B) /SCRIPT   就会弹出对话框告诉你解密后的结果!   三:使用Microsoft出品的脚本编码器Script Encoder来进行编码   工具的使用就不多介绍啦!我是直接使用JavaScript调用控件Scripting.Encoder完成的编码!代码如下: SCRIPT LANGUAGE=JavaScript var Senc=new ActiveXObject(Scripting.Encoder); var code=SCRIPT LANGUAGE=JavaScriptrnalert(《黑客防线》);rn/SCRIPT; var Encode=Senc.EncodeScriptFile(.htm,code,0,); alert(Encode); /SCRIPT   编码后的结果如下: SCRIPT LANGUAGE=JScript.Encode#@~^FgAAAA==@#@lsDD`J黑客防线r#p@#@FgMAAA==^#~@/SCRIPT   够难看懂得吧?但相应的解密工具早已出来,而且连解密网页都有!因为其解密网页代码过多,我

文档评论(0)

yaobanwd + 关注
实名认证
文档贡献者

该用户很懒,什么也没介绍

1亿VIP精品文档

相关文档