# JS代码怎么加密保护？混淆强度怎么选？JS混淆加密全参数中文教程（附域名锁定与批量混淆技巧）

> 来源：工具派（https://gjupai.com） 原文页面：https://gjupai.com/tutorial/js-obfuscator-guide

#### 你的 JS 代码为什么需要混淆？

前端代码天生"裸奔"：用户打开 DevTools 就能读到全部源码。混淆（Obfuscation）通过标识符重命名、字符串抽取加密、控制流改写等变换，让逆向成本远高于代码价值。常见场景：付费授权校验、核心算法保护、外包交付防盗用。

#### 三步上手

1. **粘贴代码**：打开 [JS混淆加密](https://gjupai.com/tools/js_obfuscator)，粘贴源码。工具先用浏览器本地解析做语法预校验，有语法错误会提示行号，不会带着错误扣你额度。
2. **选强度**：四张预设卡片按「保护强度 / 体积膨胀 / 性能损耗」三指标标注——
   - 极速压缩：只压缩+改名，体积几乎不变，兼容最好；
   - 低强度：轻度保护，适合普通业务代码；
   - 中强度（推荐）：平衡保护与性能；
   - 高强度：最强保护但运行明显变慢，仅用于核心逻辑。拿不准就点「试看」，用内置示例即时对比各档真实产物。
3. **执行下载**：点「开始混淆」，查看「原始 → 混淆后 → gzip 估算」体积统计，跑一次「沙箱冒烟测试」确认产物可执行，再复制或下载。

#### 进阶技巧

- **域名锁定**：填入你的域名清单，代码被拷到其它网站直接失效；配合「跳转 URL」可强制跳授权页。
- **日期锁**：设截止时间，到期自动失效——试用授权、外包交付交付场景刚需。注意它基于客户端时间，属轻防护，重要授权务必配合服务端校验。
- **批量混淆**：勾选批量模式一次拖入 ≤10 个文件，统一配置执行后打包 zip（对齐 jsjiami 的 VIP 批量功能，这里免费）。
- **配置导入**：粘贴 obfuscator.io 导出的 options JSON 一键回填，英文站用户迁移零成本；常用配置可存为模板（≤10 套）团队共享。

#### 与 toolwa / jsjiami / obfuscator.io 的横向对比

| 能力 | 工具派 | obfuscator.io | toolwa | jsjiami |
|---|---|---|---|---|
| 全参数中文解释 | ✅ | ❌（全英文） | ✅ | 部分 |
| 四档预设 + 强度试看 | ✅ | 仅低中高三档 | ❌ | ❌ |
| 批量混淆 zip | ✅ 免费（≤10 文件） | ❌ | ❌ | VIP 付费 |
| 日期锁 / 浏览器锁定 | ✅ | ❌ | ❌ | ❌ |
| 沙箱冒烟测试 | ✅ | ❌ | ❌ | ❌ |
| 大小/gzip 统计 | ✅ | ❌ | ❌ | ❌ |
| 产物水印 | 无 | 无 | 无 | 免费档强制注释头 |

（各竞品能力以 2026-09 公开页面为准；组合体验差异为主，不构成绝对优势宣称。）

#### 常见问题

- **加密后跑不起来怎么办？** 先跑「沙箱冒烟测试」定位；常见原因是 renameProperties 破坏动态属性访问、selfDefending 与格式化冲突、target 选错。危险组合页面会即时红字拦截。
- **能 100% 防破解吗？** 不能。混淆提高逆向成本，不改变"前端代码最终可被还原"的事实。请勿在代码里硬编码密钥。
- **会上传我的代码吗？** 不会。全部处理在浏览器本地完成，引擎加载完成后断网也可继续使用。

---
