代码混淆使用浏览器能力实现,您的代码不会被上传到云端。
源代码
混淆结果
Source Map
混淆结果
文件 | 大小 | 状态 | 操作 |
---|
相关工具
在线Javascript混淆加密工具,支持在线混淆加密javascript代码,混淆支持低混淆度高性能、中等混淆度最优性能、高混淆度低性能模式,你还可以通过自定义参数,来控制混淆加密的细节过程。
Javascript(js)代码在线混淆加密工具,是一款免费强大的js混淆工具。 它支持变量重命名,字符串加密,死代码注入,控制流程和代码转换等特性。 本工具支持es3,es5,es2015,es2016,es2017,es2018,es2019语言标准,部分支持es2020语言标准。
- 混淆模式:预定义了默认、低混淆度,中等混淆度,高混淆度以及自定义参数五种混淆加密模式。不同混淆程度和参数对性能的影响程度不同。
- 文件:选择单文件混淆,还是批量文件混淆。
- Source Map:是否同步生成 Source Map 文件。
- 打开:单文件模式下,支持打开.js文件,支持的文件字符编码为UTF-8。 批量文件混淆模式下,支持打开 .js 和 .zip 文件。
-
在自定义参数中,你可以输入自定义的JSON参数,来控制混淆的底层细节,请确认保持正确的配置参数格式,
同时对混淆后的代码进行测试,以确保工作正常。
部分核心参数参见下表,完整参数列表请查看文档。 -
自定义参数的典型应用:
通过设置domainLock和domainLockRedirectUrl参数,禁止加密后的js文件运行在非授权域名网站中, 从而防止别人拷贝你的代码。
通过设置debugProtection相关参数,禁止别人在开发者调试工具模式下,调试你的js代码。
通过设置selfDefending参数,将使美化以后的混淆代码不可用,从而增加混淆代码的理解难度。
部分核心参数释义
名称 | 类型 | 默认值 | 说明 |
---|---|---|---|
compact | boolean | true | 是否将加密结果压缩成一行。 |
controlFlowFlattening | boolean | false | 是否开启扁平化控制流程转换,开启后将增大程序的理解难度。 |
controlFlowFlatteningThreshold | number | 0.75 | 最小为0,最大为1。对代码应用控制流程转换的可能性。 |
deadCodeInjection | boolean | false | 是否注入死代码,以增加程序理解难度。开启这个选项将增大生成文件大小。 |
deadCodeInjectionThreshold | number | 0.4 | 最小为0,最大为1。在节点中增加四代码的可能性。 |
debugProtection | boolean | false | 是否冻结浏览器的开发者调试工具 |
debugProtectionInterval | number | 0 | 单位毫秒,如果开启,将周期性的强制开发者调试工具处于调试断点状态。 只在debugProtection开启下有效。建议设置为2000到4000毫秒。 |
disableConsoleOutput | boolean | false | 禁止控制台输出。将console.log,console.info,console.error 等函数替换为空函数。 |
domainLock | string[] | [] | 只允许混淆后的代码运行在特定的域名下。这将防止其他人拷贝你的代码进行使用。如果混淆后的代码运行在非指定的域名下,将自动跳转到domainLockRedirectUrl指定的URL。 |
domainLockRedirectUrl | string | about:blank | 如果混淆后的代码运行在非domainLock指定的域名下,将自动跳转到此URL。 |
renameGlobals | boolean | false | 混淆全局变量名和函数名,这个选项会破坏你的代码,慎重开启。 |
renameProperties | boolean | false | 允许重命名属性名称,这个选项有可能破坏你的代码,慎重开启。 |
selfDefending | boolean | false | 开启混淆结果保护。混淆后的代码,如果被美化/格式化,将无法正常运行。从而增加代码的理解难度。 开启这个选项后,将强制设置compact参数为true。 |
target | string | browser | 混淆代码的目标运行环境。允许的值为browser,browser-no-eval,node。 |
unicodeEscapeSequence | boolean | false | 开启后,将字符串转换为Unicode代码。 |