【发布时间】:2014-03-31 00:00:19
【问题描述】:
最近有人要求我混淆我的 javascript 以隐藏客户端的 api 密钥。我正在使用 grunt。
grunt-contrib-uglify 会混淆我的 js 吗?
uglify 和 obfuscate 有什么区别?一个比另一个更安全吗?
【问题讨论】:
-
我想你会发现这两种方法都会暴露 API 密钥,尽管稍微难以辨别。
-
Uglify 缩小,但它不会关闭编译和替换变量名,也不会混淆。此外,混淆不会提高安全性。
-
我会说,一般来说,混淆确实至少会提高一点安全性,因为拥有攻击软件技能的人越来越少,或者人们需要花费更多时间来攻击软件。我同意在某些特殊情况下,例如搜索某个字符串的存在,混淆可能没有任何区别。而且我不会声称无法通过努力来扭转混淆。但是,例如,如果您的目标是让人们更难理解或修改算法,那么我认为混淆确实“提高了安全性”。
标签: javascript gruntjs obfuscation uglifyjs deobfuscation