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

时间:2016-03-02 10:23:56

标签: c# wpf encryption

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

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

4 个答案:

答案 0 :(得分:1)

检查Rihino许可项目。

答案 1 :(得分:1)

如果所有数据都在客户端上,并且没有从服务器验证任何内容,则始终有办法破解客户端应用程序。您应该创建一个执行计算的服务,而wpf应用程序只是访问服务器的瘦客户端,并且在每个请求中,如果客户端仍然可以访问服务,则提供并验证客户端许可证。

答案 2 :(得分:0)

您可以使用模糊处理来保护您的代码不被反向工程。从MSDN中查看此link

答案 3 :(得分:0)

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

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