我必须在我的web.config中输入密码,我需要加密它并在我的代码中使用,是否有一些提示如何做到这一点?
我的web.config代码:
<appSettings>
<add key="Password" value="test123"/>
</appSettings>
我是如何得到的:
string Password = ConfigurationManager.AppSettings["Password"];
谢谢!
答案 0 :(得分:5)
答案 1 :(得分:1)
我的提示:在Google上搜索ProtectedConfigurationProvider。
我之前在应用程序中实现了自定义ProtectedConfigurationProvider。在谷歌搜索它给了我一些点击,例如http://msdn.microsoft.com/en-us/library/wfc2t3az.aspx
答案 2 :(得分:1)
使用FormsAuthentication.HashPasswordForStoringInConfigFile Method并在配置文件中存储加密密码..
void HashPassword_Click(object sender, EventArgs e)
{
if (Page.IsValid)
{
string hashMethod = "";
if (md5.Checked)
{
hashMethod = "MD5";
}
else
{
hashMethod = "SHA1";
}
string hashedPassword =
FormsAuthentication.HashPasswordForStoringInConfigFile(password.Text, hashMethod);
result.Text = "<credentials passwordFormat=\"" + hashMethod +"\"><br />" +
" <user name=\"" + Server.HtmlEncode(userName.Text) + "\" password=\"" +
hashedPassword + "\" /><br />" + "</credentials>";
}
else
{
result.Text = "There was an error on the page.";
}
}
正如您所说,您要加密配置部分,请检查以下内容 - 安全实践中的Encrypt sections of Web.Config or App.Config和MSDN - How to encrypt sensitive data in Machine.config and Web.config:ASP.NET安全实践概览部分。
示例:
copy App.Config App.Config.original
rename App.config web.config
aspnet_regiis -pef connectionStrings . -prov DataProtectionConfigurationProvider
rename web.config App.config