如何加密js代码,实现加密的同时能正常运行?

作者站长头像
站长
· 阅读数 10

如何加密js代码,实现加密的同时能正常运行?

回复
1个回答
avatar
test
2024-07-12

浏览器上能正常运行的代码并不存在真正的加密,只是把语法和变量尽量混淆,让你看不出来函数是干什么的。现在的构建工具都支持或者已经集成了一些业界比较出名库或者插件,比如UglifyJS

比如下面这段代码 function t(t){for(var n,r,o=t[0],i=t[1],u=0,s=[];u<o.length;u++)r=o[u],Object.prototype.hasOwnProperty.call(a,r)&&a[r]&&s.push(a[r][0]),a[r]=0;for(n in i)Object.prototype.hasOwnProperty.call(i,n)&&(e[n]=i[n]);l&&l(t);while(s.length)s.shift()()}

光从代码上,你几乎没法了解是干什么的,变量代表什么意义也不清楚。但是呢,无论如何这段代码都需要遵循JS规范和标准,也就意味着,其实这些代码你要死磕的话,通过整个js文件的上下文,是可以大致搞明白的。关于反编译我不太了解是否能做到恢复源码,类似于SourceMap那样。

回复
likes
适合作为回答的
  • 经过验证的有效解决办法
  • 自己的经验指引,对解决问题有帮助
  • 遵循 Markdown 语法排版,代码语义正确
不该作为回答的
  • 询问内容细节或回复楼层
  • 与题目无关的内容
  • “赞”“顶”“同问”“看手册”“解决了没”等毫无意义的内容