如何仅加密 web.config 文件中的密码?
<add name="PSystem" connectionString="Server=test;Database=Dev;User ID=testuser;Password=password@123;Trusted_Connection=False;Encrypt=True;" providerName="System.Data.SqlClient" />
如何仅加密 web.config 文件中的密码?
<add name="PSystem" connectionString="Server=test;Database=Dev;User ID=testuser;Password=password@123;Trusted_Connection=False;Encrypt=True;" providerName="System.Data.SqlClient" />
您可以尝试在连接字符串中使用标志,如下所示:
<add name="PSystem"
connectionString="Server=test;
Database=Dev;
User ID=@UserID@;
Password=#Password#;
Trusted_Connection=False;
Encrypt=True;"
providerName="System.Data.SqlClient" />
然后您可以拥有加密的用户和密码,如下所示:
<add key="DB_User" value = [Encrypted Username]>
<add key="DB_Password" value = [Encrypted Password]>
然后在代码中你只需替换标志:
string _connectionString = ConfigurationManager.ConnectionStrings["PSystem"].ConnectionString;
string user = Decrypt(ConfigurationManager.AppSettings["DB_User"]);
string password = Decrypt(ConfigurationManager.AppSettings["DB_Password"]);
_connectionString = _connectionString.Replace("##User##", user).Replace("##Password##", password);
要加密配置文件内容,请使用带有 –pe 选项和要加密的配置元素名称的 Aspnet_regiis.exe 工具。
aspnet_regiis -pe "connectionStrings" -app "/SampleApplication" -prov "RsaProtectedConfigurationProvider"
来源: http: //msdn.microsoft.com/en-us/library/zhhddkxy (v=vs.100).aspx