小编典典

如何混淆我的ES6 / React / Redux / Electron项目的客户端源代码?

reactjs

我想制作一个非开源的JavaScript应用程序,因此我想学习如何混淆我的JS代码?这可能吗?


阅读 1358

收藏
2020-07-22

共1个答案

小编典典

混淆:

尝试使用 YUI Compressor 。这是一个非常流行的工具,由Yahoo
UI团队构建,增强和维护。

您还可以使用:

更新:这个问题最初是在10多年前提出的,并且不再维护YUI。 Google
Closure编译器仍在使用中,并且可以通过节点包管理器在本地运行UglifyJS:npm install -g uglify-js

私有字符串数据:

将字符串值保持私有是另一个问题,而混淆并不会带来太大好处。当然,通过将源打包成乱码,最小的混乱,您可以通过 模糊* 获得轻便的
安全性 。大多数情况下,查看源的是您的用户,客户端上的字符串值是供他们使用的,因此通常不需要这种私有字符串值。
*

如果您确实拥有一个您不希望用户看到的价值,那么您将有两个选择。首先,您可以执行某种加密,该加密在页面加载时解密。那可能是最安全的选择之一,但也可能是很多不必要的工作。您可能可以对一些字符串值进行base64编码,这会更容易..但是真正想要这些字符串值的人可以
轻松地对其进行解码 。加密是真正阻止任何人访问您的数据的唯一方法,大多数人发现加密比他们需要的安全性更高。

边注:

众所周知,JavaScript中的混淆会导致一些错误。混淆器对此有所改善,但是许多公司认为他们发现 缩小压缩后会获得
足够的好处,而增加混淆所带来的节省 并不总是值得解决的 。如果您想保护自己的源代码,也许您会觉得值得这样做,只是使您的代码更难阅读。
JSMin
是一个很好的选择。

2020-07-22