技术实践

JavaScript混淆加密

那么怎么做到我们的源代码,不被别人获取呢,目前常见的做法就是前端压缩混淆,最后生成出来的代码都是a,b,c,d...e,这种字母代替,或者起

羊先生的头像
羊先生2021.11.07 · 2 分钟阅读 · 56 阅读
JavaScript混淆加密封面
文章正文还需 2 分钟

今天有个同事问我,前端如何防止别人偷看代码

image.png

大概就是,他们开发了个产品,如要申请著作权,然后想把代码保护起来

在前端的话,代码基本都是公开的,在浏览器打开控制台,断点就可以跟踪到需要的参数和变量

那么怎么做到我们的源代码,不被别人获取呢,目前常见的做法就是前端压缩混淆,最后生成出来的代码都是a,b,c,d...e,这种字母代替,或者起来的方式代替

两个在线混淆工具,我见过的最牛逼的

jsfuck

image.png

obfuscator

image.png

本地混淆,批量处理

常用的是node.js处理,比如vue-cli的框架,vue.config.js,里面只需配置参数,即可完成混淆,也是基于node环境完成

安装javascript-obfuscator

shll 复制代码
npm install javascript-obfuscator -g

最小化并混淆文件

shell 复制代码
javascript-obfuscator input_file_name.js 

批量操作

shll 复制代码
javascript-obfuscator ./ 

执行上面的指令会将当前目录下(包含子目录)的所有.js文件进行最小化并混淆

更多操作

可以通过指定参数设置更多操作:
--ouput a.js:指定输出文件名
--ouput ./output:指定输出目录

参数说明