我想在客户端

时间:2015-04-22 10:03:56

标签: c# winforms encryption app-config password-encryption

我是窗体应用程序的新手,并使用数据模型.edmx在c#实体框架中部署我的第一个应用程序。 问题是,在部署应用程序时,连接字符串可以轻松读取,任何人都可以读取我的凭据。

为此目的组成了一个单独的项目,加密配置文件并在我的开发机器上成功运行,但我在客户端遇到错误,如 “使用提供者'dataprotectionconfigurationprovider.key无法解密,无法在指定状态下使用。”

1 个答案:

答案 0 :(得分:0)

您可以使用aspnet_regiis.exe加密配置中的密钥。这工作即使应用程序不是ASP.NET应用程序。 1.将目录中的app.config重命名为web.config(不用担心,这只是暂时的,我们稍后会重命名)。 2.转到命令提示符。 3.键入以下内容(将包含该目录的路径的最后一个参数替换为app.config,当前已重命名为web.config。例如,如果Web配置的完整路径为“C:\ documents and settings \ bob” \ projects \ myproject \ web.config“,你会使用”C:\ documents and settings \ bob \ projects \ myproject“)

%windir%\ Microsoft.NET \ Framework \ v2.0.50727 \ aspnet_regiis -pef“connectionStrings”

  1. 你应该看到它说“成功!”
  2. 重新打开web.config,它应该是这样的:                                  Rsa Key                       rUmEA8h02uMZ5M4uEVtL + 5M / UvPuyJ4UJz5d / Pd4h4jpFPGVf29ha4d + BMT / iOupVisXDxuZY1jzyc6O0ZixGcCkZqbynwKjouVANQVWUnDgIFgVap2ohsxjblAMtWHTUWDlL0ST5tqSVHNQE + r9G59Bnrp5HkuU3Eg09 / 8j6Jo =                       U2JEHzJ + WjSdlocT00cC9TE3 + Dn3v7xE1RwX7bKAPuISO2f3hm18MZHnm1hXEBlnDS6iBNRPN87 + BJJvZXYz +姐姐/ ZD4xBZEP4jBG2F8tqlLUbagv3W4epbuTSp2aalb5rdcBoycdIzSj2CApOzSaSKkMDvZrX8yoJI9RfuGnOWmNa4bncHkUEDvWq + UCK / 8uaQ48J5uRoq7O0YgIe9jDg ==   
  3. 最后,将文件从web.config重命名为app.config。 从这里开始:https://social.msdn.microsoft.com/Forums/windows/en-US/3b5a1d1f-aa57-40d8-8607-fee0b2a8a6db/protect-appconfig-file-or-encrypt
相关问题