【发布时间】:2011-07-03 10:30:52
【问题描述】:
我编写了一个可以运行基本代码的小型脚本引擎。我希望如果用户保护代码,那么除了我的程序之外,没有人应该能够打开代码。
现在我找到了一个链接:http://www.codeproject.com/KB/aspnet/TamperProofQueryString.aspx,它使用Base64 编码对代码进行加密。它使用密钥来加密和解密。
我想知道如何将密钥存储在我的应用程序中,以免其他人知道。我确实混淆了我的程序,因此字符串等不易阅读。这有帮助。除了使用变量并将密钥存储在 EXE 文件本身中。我还有哪些其他安全选项?
我使用上述方法加密和解密的逻辑是否安全?我想要足够的安全性,也许不是很好。
加上上面代码的好处是它不需要创建一个临时文件来解密它,这样用户就无法搜索临时文件左右。
如果有人能提供宝贵的建议,我会很高兴。
【问题讨论】:
-
用户是否有权访问程序或被访问,例如通过网络服务?在第一种情况下,您无法实现完美的安全性,因为如果程序包含解密某些内容的所有信息,那么用户就可以访问它。在第二种情况下,您可以使用公钥加密来确保 99% 的安全。
-
虽然我的程序可以访问我的服务器,但这里的安全性并不那么重要。我将从我的程序标题或其他内容中获取 key 的文本。