Подтвердить что ты не робот

Как шифровать имя пользователя и пароль в Web.config в С# 2.0

У меня есть записи ниже в моем Web.config, и я использую .NET 2.0 и С# для кодирования.

 <add key="userName" value="s752549"/>
 <add key="userPassword" value="[email protected]"/>

Теперь я хочу, чтобы это было зашифровано, чтобы никто не мог его увидеть, а также эти пароли могут часто меняться (каждые пятнадцать дней).

4b9b3361

Ответ 1

Вы можете поместить имя пользователя и пароль в отдельный раздел и зашифровать только этот раздел. Например:

<?xml version="1.0" encoding="utf-8" ?>
<configuration>
    <configSections>
        <section name="secureAppSettings" type="System.Configuration.NameValueSectionHandler, System, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089" />
    </configSections>

    <appSettings>
        <add key="Host" value="www.foo.com" />
        <add key="Token" value="qwerqwre" />
        <add key="AccountId" value="123" />
        <add key="DepartmentId" value="456" />
        <add key="SessionEmail" value="[email protected]" />
        <add key="DefaultFolder" value="789" />  
    </appSettings>

    <secureAppSettings>
        <add key="userName" value="s752549"/>
        <add key="userPassword" value="[email protected]"/>

    </secureAppSettings>  
</configuration>

а затем используйте aspnet_regiis

For Ex: 
aspnet_regiis -pef secureAppSettings . -prov DataProtectionConfigurationProvider

Ответ 2

Просто хотел добавить к этому, отмеченный ответ был завершен на 99%, но он не указал, как указать расположение веб-конфигурации. Вместо того, чтобы корниться в Интернете, подумал, что я просто отправлю полную команду. Таким образом, вот команда, которую я выполнил

C:\Windows\Microsoft.NET\Framework64\v4.0.30319>aspnet_regiis -pef "secureAppSettings" "C:\MyLocalPublishDirectory\MyApp" -prov DataProtectionConfigurationProvider