在App.config中加密密码
我想加密连接字符串中的密码。 当我连接到DB时,连接字符串公开存储在App.config中,我需要找到一种方法来保持只加密密码。
- 查找数据库上的打开连接数
- SqlTransaction中的SqlDataAdapter.Fill() – 这是一个不好的做法吗?
- 数据绑定到程序化创建的DataTable
- 从ADO.NET调用Oracle时批处理多个select语句
- SqlCommand还是SqlDataAdapter?
让我们说这是你的连接字符串:
然后你可以做这样的事情:
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加密配置节的文档。
在加载应用程序之前,可能会从配置中解密连接字符串。