加密Web.config
比如要加密connnection string
<configuration>
<connectionStrings>
<add name=”mySqlServer” connectionString=”Data Source=localhost;Integrated Security=SSPI;Initial Catalog=Northwind;” />
</connectionStrings>
</configuration>
//==使用aspnet_regiis
aspnet_regiis -pe “connectionStrings” -app “/MyApplication”
加密 MyApplication 应用程序的 Web.config 文件的 <connectionStrings> 节
aspnet_regiis -pe “connectionStrings” -app “/MyApplication”
解密
aspnet_regiis -pef “connectionStrings” “C:\PetShop4.0\Web”
加密指定的物理路径下的web.config
aspnet_regiis -pdf “connectionStrings” “C:\PetShop4.0\Web”
解密
aspnet_regiis -pa “NetFrameworkConfigurationKey” “NT AUTHORITY\NETWORK SERVICE”
授予 NETWORK SERVICE 帐户对计算机级别的 “NetFrameworkConfigurationKey” RSA 密钥容器的访问权限。
-pkm 对Machine.config 加密
-prov 指定要使用的加密提供程序,如 RsaProtectedConfigurationProvider.
//==如果无法控制物理的服务器,可以通过代码来加密web.congif public void EncryptConfig(bool bEncrypt)
{
string path = “/tricks”;
Configuration config = WebConfigurationManager.OpWebConfiguration(path);
ConfigurationSection appSettings = config.GetSection(”connectionString”);
if(bEncrypt)
{
appSettings.SetionInformation.ProtectSection(”DataProtectionConfigurationProvider”);
}
else
{
appSettings.SetionInformation.UnprotectSection();
}
config.Save();
}
参考
受保护配置概述
http://msdn2.microsoft.com/zh-cn/library/hh8x3tas.aspx
使用受保护的配置加密配置信息
http://msdn2.microsoft.com/zh-cn/library/dtkwfdky.aspx