在WPF应用程序中保存加密密钥

在WPF应用程序中保存加密密钥

问题描述:

我们正在用WPF创建一个应用程序,供我们的客户用来进行计算。 我们需要某些数据才能进行计算。这些数据不应该被客户访问。这些数据可以存储在一个XML文件中。 我们也希望能够控制谁使用应用程序。我们计划通过许可证文件来执行此操作,该文件指定可以使用该应用程序的时间长度。 我们想用数据和许可证文件加密文件,以便用户无法打开它们。在WPF应用程序中保存加密密钥

我的问题是我需要在某处存储加密密钥。 当我将该密钥硬编码到应用程序中时,可以通过反编译来发现它。 是否有可能将加密保存在某个地方而用户无法访问?我可以在哪里保存这个密钥? 是否存在一些库来实现这个目标?

您可以使用混淆来保护您的代码不被反向设计。从MSDN检查这个link

检查Rihino许可项目。

您仍然可以将密钥存储在远端服务器/网站上。

或者您可以使用Litecode,here is an open source project written by 'debug-hf' which will help you figuring out how to do so移动您的整个方法服务器端。

如果所有数据都在客户端上,并且没有任何数据从服务器进行验证,那么总有办法破解您的客户端应用程序。您应该改为执行计算的服务,而wpf应用程序只是一个访问服务器的瘦客户端,并且在每个请求中提供客户端许可证并在客户端仍可访问该服务时进行验证。