Как я могу зашифровать переменную web.config в c # - PullRequest
1 голос
/ 27 февраля 2012

Мне нужно ввести пароль в мой web.config, и мне нужно зашифровать его и использовать в своем коде, есть ли какой-нибудь совет, как это сделать?

Код моего web.config:

<appSettings>
    <add key="Password" value="test123"/>
</appSettings>

Как я это получаю:

string Password = ConfigurationManager.AppSettings["Password"];

Спасибо!

Ответы [ 3 ]

5 голосов
/ 27 февраля 2012

Ознакомьтесь с этой статьей MSDN по Шифрование и дешифрование разделов конфигурации

1 голос
/ 27 февраля 2012

используйте 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 = "&lt;credentials passwordFormat=\"" + hashMethod +"\"&gt;<br />" +
                  "  &lt;user name=\"" + Server.HtmlEncode(userName.Text) + "\" password=\"" +
                  hashedPassword + "\" /&gt;<br />" + "&lt;/credentials&gt;";
            }
            else
            {
               result.Text = "There was an error on the page.";
            }
         }

Как вы сказали, что хотите зашифровать раздел конфигурации, проверьте это- Шифрование разделов Web.Config или App.Config и MSDN - Как зашифровать конфиденциальные данные в Machine.config и Web.config в Практика безопасности: Практика безопасности ASP.NET вa Glance section.

Пример:

copy App.Config App.Config.original
rename App.config web.config
aspnet_regiis -pef connectionStrings . -prov DataProtectionConfigurationProvider
rename web.config App.config
1 голос
/ 27 февраля 2012

Мой совет для вас: найдите ProtectedConfigurationProvider в Google.

Я реализовал пользовательский ProtectedConfigurationProvider ранее в нашем приложении. Поиск по Google дал мне несколько просмотров, например http://msdn.microsoft.com/en-us/library/wfc2t3az.aspx

...