五岁小站 - 免费在线工具箱

加载中...

JS 代码混淆

混淆选项

什么是 JS 代码混淆?

写前端的同学应该都有这样的顾虑:辛辛苦苦写的代码,在浏览器里打开开发者工具就能看到源码,稍微懂点的人很容易就能复制走。JS 代码混淆就是用来解决这个问题的——它会把你的代码变成一堆难以阅读的"乱码",变量名变成 _0x1a2b 这样的东西,字符串也被加密处理,虽然功能不变,但别人想看懂可就难了。

混淆选项说明

  • 压缩代码:删除空格和换行,减小文件体积
  • 控制流扁平化:打乱代码执行顺序,增加分析难度(会增大代码体积)
  • 插入死代码:添加永远不会执行的代码,干扰阅读
  • 调试保护:检测开发者工具,阻止断点调试
  • 禁用 console:清空 console 对象,防止输出调试信息
  • 自我保护:防止代码被格式化还原
  • 字符串数组:将字符串提取到数组中,通过函数调用获取

使用建议

  • 普通保护:使用默认选项即可,体积增加不多
  • 中等保护:开启"控制流扁平化",代码更难分析
  • 强保护:全部开启,但代码体积会显著增大,运行速度可能变慢
  • 生产环境建议先测试,确保混淆后功能正常

注意事项

混淆只是增加破解难度,不是绝对安全。核心逻辑和敏感数据(如密钥)还是应该放在后端。另外,混淆后的代码体积会变大,对性能要求高的场景要权衡一下。本工具使用 javascript-obfuscator 库,所有处理都在浏览器本地完成,代码不会上传到服务器。