【问题标题】:I want to apply encryption and decryption on app.config in window form application on client side我想在客户端的窗口窗体应用程序中对 app.config 应用加密和解密
【发布时间】:2015-06-29 21:48:27
【问题描述】:

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

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

【问题讨论】:

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


    【解决方案1】:

    您可以使用 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,它应该看起来像这样: 密钥 rUmeA8h02uMZ5M4uEVtL+5M/UvPuyJ4UJz5d/Pd4h4jpFPGVf29ha4d+BMt/iOupVisXDxuZY1jzyc6O0ZixGcCkZqbynwKjouVANQVWUnDgIFgVap2ohsxjblAMtWHTUWDlL0ST599tqSVHNQE+rg9tqSVHNQE+rg9 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

    【讨论】:

    • 无法隐藏 %windir%\Microsoft.NET\Framework\v2.0.50727\aspnet_regiis -pef "connectionStrings" E:\Nabeel WorkSpace\Projects\ATMS1\ATMS\Web.Config 这将显示所有asp.net 注册选项
    • 无法使用提供程序“RasProtectedConfigurationProvider”解密。来自提供者的错误消息:无法打开 RSA 密钥容器。任何帮助
    猜你喜欢
    • 1970-01-01
    • 2012-07-15
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2018-11-04
    • 2014-08-10
    • 1970-01-01
    相关资源
    最近更新 更多