ASP.NET2.0 加密Web.Config的配置Section

把明文的密码写在Web.Config里面总是不太好吧!
加密一下,至少显得专业点,下面是我的方法:

aspnet_regiis -pef  "connectionStrings"  "f:/DOTNETAPP2.0/SCHOOLP
ROFILE" -prov "DataProtectionConfigurationProvider" 

注意:后面一定要"DataProtectionConfigurationProvider" ,不加这个参数,就是用默认方式加密。
处理起来很罗嗦!connectionStrings可以替换成你需要的加密配置节,另外
有的SECTION是不能加密的,要注意!

用"DataProtectionConfigurationProvider" 参数,加密后,可以不用解密处理,系统依旧能使用原来
的连接串正常连接数据库!

加密前:

<connectionStrings>
  <add name="MyConn" connectionString="server=localhost;uid=sa;pwd=123456;Initial Catalog=SchoolProfile"
   providerName="System.Data.SqlClient" />
 </connectionStrings>

加密后:

<connectionStrings configProtectionProvider="DataProtectionConfigurationProvider">
  <EncryptedData>
   <CipherData>
    <CipherValue>AQAAANCMnd8BFdERjHoAwE/Cl+sBAAAA5T1gcwVg/0qvVeziLTglSQQAAAACAAAAAAADZgAAqAAAABAAAADt4LPmdEtJP3O3F2k2tEUWAAAAAASAAACgAAAAEAAAACVZduywWhhWOVjg0aRY/RYAAgAANmIZ0DQGMCZL42BtSs7rmUZVc1DE0kOm8Yb+LkngV4qkd7DY5JOBz6mCMi8sMBOllQ9n8iNgfhk+0IYAvXRnGXO4RL13pcmNwzJHRqNSZMUX9a5qtVz+JSQFqJLM+9sM8lDyjA77H9p+Yi5pzQtdkDk5w5M2hTSOK/ku3SUCXE9UZgYQxYvvmhO3WXkLx69nMFRNxskVqznK3s0EzQDtqA4oJE8RL1lzKlqRqbUIEnMcwB4N7/mFqcNmm7zJPKDgawZszlaLITAgIivyyWHPtcz1flT1hZsgmFWqpucNSSz6lJCA2TM10Z2sQ44augCiZi0XJyTaRrhGw51v8bR9oZtqxDiLxn89c1VqSUnPeO51ukQPEO0nCR+wN414AiQMrg3mv8YZB05kawx9kt6K79j45sAxaumCkhuMl9uU21NPJCPfzKukhab/rhqeBHQGiIvKfVCC3H8TB2XOR5a4lA1jLo7ceOtehjgVZqn5XKocLyzYbBkKzMZNnEcgcrsgdOmUgs3IajmtzZ1x2zcOqMdcoZJYNxCXGzCNMviIeV+C7/O6iqnYL3p0G4dKHhkcXoJm5pssNItS1OgsPCdtwBRfF6Fza7RimRW6iK/KIU/eih+OPc/2n0u2GsIgq5KjQuow3aTmy99dAC3kxTvxtbRFE8xbNPdBqYW6++vCm5sUAAAAY70pIKQBMd07W9P4heo6xJDfpIM=</CipherValue>
   </CipherData>
  </EncryptedData>
 </connectionStrings>

加密邮件的配置节:
aspnet_regiis   -pef   system.net/mailSettings/smtp   e:/schoolprofile -prov "DataProtectionConfigurationProvider"

加密前:
<system.net>
  <mailSettings>
   <smtp from="hnwanghb@126.com">
    <network host="smtp.126.com" password="xxxxxx" userName="hnwanghb"/>
   </smtp>
  </mailSettings>
 </system.net>

 加密后:

<system.net>
  <mailSettings>
   <smtp configProtectionProvider="DataProtectionConfigurationProvider">
        <EncryptedData>
         <CipherData>
          <CipherValue>AQAAANCMnd8BFdERjHoAwE/Cl+sBAAAAdwEJkDOW80q0Kls52kqs2QQAAAACAAAAAAADZgAAqAAAABAAAADl/9dsRL/9kbiQglGhsiJlAAAAAASAAACgAAAAEAAAAJytjibFny9ZsbGgOIFltOHwAAAAPSVFWkK7nGNqlTxy4Or6YQdmRMX6nhHeYclfIQdaIkF/HxRgNeKUUlmG6k4zq2PNksS+VXefNYTEk2zE6uHCyi3BnwM2CCEs/OvjiVzLyq1wa6Z3HH+1HztSA+tHrXjJV9aUhMVJbi99F3a5SkgO2yuzXf3uyD05nEiSaEl6dcQOadBRIlN9Fo7xaIhplkY6+VehulicHNXI5xqM0/lKOQQZe/BSVTNriBk7F9Q9nr8iVY/zVvJO+e5WEb7RTm9leLDTqt43/4RDNsuobFIqgA/sSm4Brz/Eh86XhjoCI2eHBPIQWfoc4nmHoUZRaNB4FAAAAJh2GdL8alPIvcq03UNXV7+EFlA8</CipherValue>
         </CipherData>
        </EncryptedData>
      </smtp>
  </mailSettings>
 </system.net>

 如果想把加密的字符串恢复,使用以下命令:

aspnet_regiis -pdf  "connectionStrings"  "f:/DOTNETAPP2.0/SCHOOLPROFILE"

我的困惑是,既然不用密码,这样两个命令就能加密/解密,还是不太安全捏!微软为什么要做这个功能呢?

 

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值