我在Web.config中有以下条目,我正在使用.NET 2.0和C#进行编码。
<add key="userName" value="s752549"/>
<add key="userPassword" value="Delhi@007"/>
现在我希望将这个内容加密,以便没有人可以看到,而且这些密码可能会频繁更改(每十五天一次)。
我在Web.config中有以下条目,我正在使用.NET 2.0和C#进行编码。
<add key="userName" value="s752549"/>
<add key="userPassword" value="Delhi@007"/>
现在我希望将这个内容加密,以便没有人可以看到,而且这些密码可能会频繁更改(每十五天一次)。
我想补充一点,标记的答案已经完成了99%,但没有提供如何指定web config的位置。不想在互联网上四处寻找,所以我想直接发布完整的命令。因此,这是我执行的命令:
C:\Windows\Microsoft.NET\Framework64\v4.0.30319>aspnet_regiis -pef "secureAppSettings" "C:\MyLocalPublishDirectory\MyApp" -prov DataProtectionConfigurationProvider
你可以将用户名和密码放在一个单独的部分中,并仅加密该部分。例如:
<?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="foo@foo.com" />
<add key="DefaultFolder" value="789" />
</appSettings>
<secureAppSettings>
<add key="userName" value="s752549"/>
<add key="userPassword" value="Delhi@007"/>
</secureAppSettings>
</configuration>
然后使用aspnet_regiis命令
For Ex:
aspnet_regiis -pef secureAppSettings . -prov DataProtectionConfigurationProvider