加密web.config中的密码字符串

时间:2012-07-10 12:11:57

标签: c# encryption configuration-files

如何在web.config中加密密码字符串?

<system.net>
    <mailSettings>
      <smtp deliveryMethod="Network">
        <network host="smtp.gmail.com" userName="guess@gmail.com" password="test" port="587" />
      </smtp>
    </mailSettings>
</system.net>

这样做的正确方法是什么?

3 个答案:

答案 0 :(得分:3)

最好加密文件的整个部分,因为内置了工具,并且在读取配置文件时会自动解密(因此无需更改代码)。这是described fully on MSDN,并使用aspnet_regiis.exe工具。

答案 1 :(得分:1)

查看Scott gu博客:Encrypting Web.Config Values in ASP.NET 2.0

Encrypting Custom Configuration Sections

<configSections>
   <section 
      name="sampleSection" 
      type="System.Configuration.SingleTagSectionHandler" 
   />
</configSections>

<MySecrets
   FavoriteMusic="Disco" 
   FavoriteLanguage="COBOL" 
   DreamJob="Dancing in the opening ceremonies of the Olympics" 
/>

加密MySecrets

aspnet_regiis -pef MySecrets 

答案 2 :(得分:1)

根据David M's answer

aspnet_regiis.exe -pe "system.net/mailSettings/smtp" -app "/myapp"

请注意,aspnet_regiis区分大小写,因此请务必将“s&#39; S&#39;在mailSettings。