我们相信:世界是美好的,你是我也是。平行空间的世界里面,不同版本的生活也在继续...

本文中,苏南大叔介绍一款开源的js加密代码,名字叫做jsfuck。好吧,名字上可能有些不堪入目。不过,它的效果确实非常惊艳。所以,苏南大叔这里做个jsfuck的相关介绍。

苏南大叔:一个非常极端的js加密算法 jsfuck ,jsfuck 如何加密解密? - jsfuck-hero
一个非常极端的js加密算法 jsfuck ,jsfuck 如何加密解密?(图2-1)

本文测试环境:win10

官方github地址

jsfuckgithub地址是:

通过截图,大家可以看到,这款加密算法的结果,果然是让大家吃惊到底。已经完全没有了js的模样,只有一些看似重复的字母组合[]+!。不过,另外需要额外特别指出的是:这款加密源码的结果,太大了。所以,加密小段的源码,玩玩还是可以的。但是如果加密大量js,会导致体积膨胀的厉害,是无法在生产环境上大面积使用的。

比如仅仅8个字符的alert(1),加密完成后,就是很大一段的几百个字符了。所以,这东西是不能进入生产模式的,太大了。

苏南大叔:一个非常极端的js加密算法 jsfuck ,jsfuck 如何加密解密? - jsfuck
一个非常极端的js加密算法 jsfuck ,jsfuck 如何加密解密?(图2-2)

加密

当然,官方提供了一个简单的UI界面,可以直接互动式加密js。其实,从nodejs的角度来考虑这个事情的话,这个jsfuck也可以作为一个node的功能模块存在。那么就可以通过代码的方式,动态加密js源码了。使用方式如下:

var JSFuck = require('./jsfuck.js').JSFuck;
var result = JSFuck.encode("alert(3)",true,true);
console.log(result);

这个代码的来源就是源码根目录下面的index.html,大家试试看。

解密

js无论如何加密,其实都是在客户端执行的。那么浏览器都是能够最终解析出代码的,所以对于浏览器端js来说,加密可能也不是太靠谱的手段。也就是说,浏览器其实是最好的js解密工具。那么,到底如何解密jsfuck呢?请找到一个古老版本的firefox和一个古老版本的firebug,那个是js解密的最佳工具。

总结

更多苏南大叔的加密解密经验文章,请点击:

如果本文对您有帮助,或者节约了您的时间,欢迎打赏瓶饮料,建立下友谊关系。
本博客不欢迎:各种镜像采集行为。请尊重原创文章内容,转载请保留作者链接。

 【福利】 腾讯云最新爆款活动!1核2G云服务器首年50元!

 【源码】本文代码片段及相关软件,请点此获取更多信息

 【绝密】秘籍文章入口,仅传授于有缘之人   加密解密    jsfuck