在App.config中加密密码

我想加密连接字符串中的密码。 当我连接到DB时,连接字符串公开存储在App.config中,我需要找到一种方法来保持只加密密码。

让我们说这是你的连接字符串:

   

然后你可以做这样的事情:

 string myCs = System.Configuration.ConfigurationManager.ConnectionStrings["cs"].ConnectionString; System.Data.SqlClient.SqlConnectionStringBuilder csb = new System.Data.SqlClient.SqlConnectionStringBuilder(myCs); csb.Password = EncDecHelper.Decrypt(csb.Password); myCs = csb.ToString(); 

您可以使用此处的示例编写EncDecHelper.Decrypt : 加密和解密字符串

使用connectionStrings配置部分并加密整个部分 – 而不仅仅是密码。

这更安全,因为您的应用程序配置将不再具有纯文本的服务器名称和用户名。

有关如何在MSDN上为RSA或DPAPI加密配置节的文档。

在加载应用程序之前,可能会从配置中解密连接字符串。