我想在客户端的 window 表单应用程序中对 app.config 应用加密和解密

I want to apply encryption and decryption on app.config in window form application on client side

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

为此,我创建了一个单独的项目来加密配置文件并在我的开发机器上成功运行,但我在客户端遇到错误,例如 "failed to decry-pt using provider 'dataprotectionconfigurationprovider.key not valid for use in specifed state."

您可以使用 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. 你应该看到它说 "Succeeded!"
  2. 重新打开 web.config,它应该看起来像这样: Rsa密钥 rUmEA8h02uMZ5M4uEVtL+5M/UvPuyJ4UJz5d/Pd4h4jpFPGVf29ha4d+BMt/iOupVisXDxuZY1jzyc6O0ZixGcCkZqbynwKjouVANQVWUnDgIFgVap2ohsxjblAMtWHTUWDlL0ST5tqSVHNQE+r9G59Bnrp5HkuU3Eg09/8j6Jo= U2JEHzJ+WjSdlocT00cC9TE3+Dn3v7xE1RwX7bKAPuISO2f3hm18MZHnm1hXEBlnDS6iBNRPN87+BJJvZXYz+Sis/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