在 WPF 应用程序中保存加密密钥
本文关键字:加密 密钥 保存 WPF 应用程序 | 更新日期: 2023-09-27 18:37:10
我们正在创建一个带有 WPF 的应用程序,我们的客户将使用该应用程序进行计算。我们需要某些数据才能进行计算。客户端不应访问此数据。此数据可以存储在 XML 文件中。我们还希望能够控制谁使用该应用程序。我们计划通过许可证文件来执行此操作,该文件指定了应用程序的使用时间。我们希望使用数据和许可证文件加密文件,以便用户无法打开它们。
我的问题是我需要将加密密钥存储在某个地方。当我将此密钥硬编码到应用程序中时,可以通过反编译发现它。是否可以将加密保存在某个地方而用户无法访问它?我可以在哪里保存此密钥?是否存在一些库来实现这一点?
检查 Rihino 许可项目。
如果所有数据都在客户端上,并且没有从服务器验证任何内容,则总有一种方法可以破解客户端应用程序。相反,您应该创建一个执行计算的服务,并且 wpf 应用程序只是一个访问服务器的瘦客户端,并且在每个请求中提供客户端许可证并验证客户端是否仍有权访问该服务。
可以使用模糊处理来保护代码不被反向工程。从 MSDN 查看此链接。
您仍然可以将密钥存储在远程服务器/网站上。
或者您可以使用 Litecode 在服务器端移动整个方法,这是一个由"debug-hf"编写的开源项目,它将帮助您弄清楚如何做到这一点。