欢迎您访问程序员文章站本站旨在为大家提供分享程序员计算机编程知识!
您现在的位置是: 首页  >  IT编程

ASP.NET web.config中 数据库连接字符串加密解密

程序员文章站 2023-12-10 18:49:28
虽然不怎么新鲜,但相信还是有许多人不知道,好,不说废话,直接给方法:开始--->运行,输入cmd,接着输入以下内容 加密: c:\windows\microsof...

虽然不怎么新鲜,但相信还是有许多人不知道,好,不说废话,直接给方法:开始--->运行,输入cmd,接着输入以下内容

加密:

c:\windows\microsoft.net\framework\v2.0.50727\aspnet_regiis.exe -pef "connectionstrings" "你的web项目路径"

解密:

c:\windows\microsoft.net\framework\v2.0.50727\aspnet_regiis.exe -pdf "connectionstrings" "你的web项目路径"

.net为版本的路径自行修改,其中connectionstrings连接字符串的名称。

需要注意的是,加密过程中使用了一个基于本机的密钥,这意味着解密过程必须在同一台计算机上完成。如果是将加密后的web.config文件移动到其它计算机上,那么web.config文件中的连接字符串将不能够正常解密。

附加密前后对比:

1.加密前

<configuration>
  <connectionstrings>
    <add name="connectionname" connectionstring="server=127.0.0.1;database=testdb;user id=sa;password=ok"
     providername="system.data.sqlclient" />
  </connectionstrings>
</configuration>

2.加密后

<configuration>
  <connectionstrings configprotectionprovider="rsaprotectedconfigurationprovider">
    <encrypteddata type="http://www.w3.org/2001/04/xmlenc#element"
      xmlns="http://www.w3.org/2001/04/xmlenc#">
      <encryptionmethod algorithm="http://www.w3.org/2001/04/xmlenc#tripledes-cbc" />
      <keyinfo xmlns="http://www.w3.org/2000/09/xmldsig#">
        <encryptedkey xmlns="http://www.w3.org/2001/04/xmlenc#">
          <encryptionmethod algorithm="http://www.w3.org/2001/04/xmlenc#rsa-1_5" />
          <keyinfo xmlns="http://www.w3.org/2000/09/xmldsig#">
            <keyname>rsa key</keyname>
          </keyinfo>
          <cipherdata>
            <ciphervalue>fdfw3bnvt21rf3n39vdopphemdybux4cmcid/3+lmy0yrlhckyulnnybloflb7dujyxxms0v33e7mokt+u2taocn6x+qho9z4onf1fv0neq6utprwz04m8slbkp+vg63jltyquft6xf+bi/an/zj3pyal93bdfnjjtxa2xsb82k=</ciphervalue>
          </cipherdata>
        </encryptedkey>
      </keyinfo>
      <cipherdata>
        <ciphervalue>92westbhbh0zeu705wseruajhahumv9ucrmfjwii8srhqpjedrsl0oafhwyfenr4xphsfkndtefvv5d4mxr3memsccp+oyeqxq/mg1qyle9mgd+neabnv95wzadcddye1sknkkq01px94ouv1oygsqtex1fczd6le8fd7kx4pafkdd0he6ajznfmcofxg1dd1+md3mukgfef64nbjyovtnw8v2g67wle8vnrokxivs6+0+rnplepdayiedal2d3jjwncqrl+uxi=</ciphervalue>
      </cipherdata>
    </encrypteddata>
  </connectionstrings>
</configuration>