Closed. This question needs to be more focused。它当前不接受答案。
想要改善这个问题吗?更新问题,使它仅关注editing this post的一个问题。
7年前关闭。
Improve this question
我想制作一个非开源的JavaScript应用程序,因此我想学习如何混淆我的JS代码?这可能吗? Google Closure Compiler UglifyJS
更新:这个问题最初是在10多年前提出的,并且不再维护YUI。 Google Closure编译器仍在使用中,并且UglifyJS可以通过节点包管理器在本地运行:
私有(private)字符串数据:
将字符串值保持私有(private)是另一个问题,而混淆并不会带来太大好处。当然,通过将源打包成乱码,最小的困惑,您可以通过晦涩的来简化版本的安全。大多数情况下,查看源的是您的用户,客户端上的字符串值是供他们使用的,因此通常不需要这种私有(private)字符串值。
如果您确实拥有一个您不希望用户看到的值(value),那么您将有两个选择。首先,您可以进行某种加密,该加密在页面加载时解密。那可能是最安全的选择之一,但也可能是很多不必要的工作。您可能可以对一些字符串值进行base64编码,这会更容易..但是真正想要这些字符串值的人可以轻松地将它们解码为。加密是真正阻止任何人访问您的数据的唯一方法,大多数人发现加密比他们需要的安全性更高。
旁注:
众所周知,JavaScript中的混淆会导致一些错误。混淆器对此有所改善,但是许多公司决定从压缩和压缩中看到足够的好处,而混淆的额外节省并不总是值得麻烦。如果您想保护自己的源代码,也许您会认为值得这样做,只是使您的代码更难阅读。 JSMin是一个很好的选择。
想要改善这个问题吗?更新问题,使它仅关注editing this post的一个问题。
7年前关闭。
Improve this question
我想制作一个非开源的JavaScript应用程序,因此我想学习如何混淆我的JS代码?这可能吗?
最佳答案
混淆:
尝试YUI Compressor。这是一个非常流行的工具,由Yahoo UI团队构建,增强和维护。
您还可以使用:
更新:这个问题最初是在10多年前提出的,并且不再维护YUI。 Google Closure编译器仍在使用中,并且UglifyJS可以通过节点包管理器在本地运行:
npm install -g uglify-js
私有(private)字符串数据:
将字符串值保持私有(private)是另一个问题,而混淆并不会带来太大好处。当然,通过将源打包成乱码,最小的困惑,您可以通过晦涩的来简化版本的安全。大多数情况下,查看源的是您的用户,客户端上的字符串值是供他们使用的,因此通常不需要这种私有(private)字符串值。
如果您确实拥有一个您不希望用户看到的值(value),那么您将有两个选择。首先,您可以进行某种加密,该加密在页面加载时解密。那可能是最安全的选择之一,但也可能是很多不必要的工作。您可能可以对一些字符串值进行base64编码,这会更容易..但是真正想要这些字符串值的人可以轻松地将它们解码为。加密是真正阻止任何人访问您的数据的唯一方法,大多数人发现加密比他们需要的安全性更高。
旁注:
众所周知,JavaScript中的混淆会导致一些错误。混淆器对此有所改善,但是许多公司决定从压缩和压缩中看到足够的好处,而混淆的额外节省并不总是值得麻烦。如果您想保护自己的源代码,也许您会认为值得这样做,只是使您的代码更难阅读。 JSMin是一个很好的选择。