zoukankan      html  css  js  c++  java
  • PetShop 4.0知识点:加密和解密Web.config文件的配置节

    PetShop 4.0 中Web.config文件中的连接字符串是加密的,需要进行解密才能看到。

    这个问题PetShop 4.0的ReadMe文件中有说明:

    Encrypting and Decrypting the Connection Strings

    Run <Pet Shop 4 Install Folder>\EncryptWebConfig.bat or DecryptWebConfig.bat to encrypt or decrypt connection strings in Web.config.

    Note: If you select the “Full Install” option during setup, Web.config is automatically encrypted. Use DecryptWebConfig.bat should you need to decrypt it.

    EncryptWebConfig.bat 和 DecryptWebConfig.bat是批处理文件,可用记事本打开,查看命令的具体内容。

     

     

     

     

     

    可新建一最简单的网站Web1,把PetShop的Web.config文件复制过来。在IIS建个虚拟目录web1指向这个网站,然后,“开始”→ “运行”→ “cmd“,打开控制台程序,

    在路径:C:\WINDOWS\Microsoft.NET\Framework\v2.0.50727 中,运行:

    C:\WINDOWS\Microsoft.NET\Framework\v2.0.50727>aspnet_regiis -pd "connectionStrings" -app "/web1"
    正在解密配置节...
    成功!

    解密后的连接字符串如下:

      <connectionStrings>
        <add name="SQLProfileConnString" connectionString="server=SPXY-WYH\sqlexpress;database=MSPetShop4Profile;integrated security=SSPI;min pool size=4;max pool size=4;"
          providerName="System.Data.SqlClient" />
        <add name="SQLMembershipConnString" connectionString="server=SPXY-WYH\sqlexpress;database=MSPetShop4Services;integrated security=SSPI;min pool size=4;max pool size=4;"
          providerName="System.Data.SqlClient" />
        <add name="SQLConnString1" connectionString="server=SPXY-WYH\sqlexpress;database=MSPetShop4;integrated security=SSPI;min pool size=4;max pool size=4;"
          providerName="System.Data.SqlClient" />
        <add name="SQLConnString2" connectionString="server=SPXY-WYH\sqlexpress;database=MSPetShop4;integrated security=SSPI;max pool size=4;min pool size=4;"
          providerName="System.Data.SqlClient" />
        <add name="SQLConnString3" connectionString="server=SPXY-WYH\sqlexpress;database=MSPetShop4Orders;integrated security=SSPI;min pool size=4;max pool size=4;"
          providerName="System.Data.SqlClient" />
        <add name="OraProfileConnString" connectionString="" providerName="System.Data.OracleClient" />
        <add name="OraMembershipConnString" connectionString="" providerName="System.Data.OracleClient" />
        <add name="OraConnString1" connectionString="" providerName="System.Data.OracleClient" />
        <add name="OraConnString2" connectionString="" providerName="System.Data.OracleClient" />
        <add name="OraConnString3" connectionString="" providerName="System.Data.OracleClient" />
      </connectionStrings>

    也可以反过来对这个连接字符串进行加密:

    运行:

    C:\WINDOWS\Microsoft.NET\Framework\v2.0.50727>aspnet_regiis -pe "connectionStrings" -app "/aaa" -prov "RsaProtectedConfigurationProvider"
    正在加密配置节...
    成功!

    加密后的连接字符串:

      <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>aCLHvPwcwd2iz97a5HQUYFVh7pwMy7fpecNsvLNlh3Xtz3KXRRDtPO8P3HjMRgv2OrAmGoCw2Kza98J+zmbgkpFx34j2vToBa8mTWsUh1UEMcvf93I/of4jnVxwZBZdB+x/Oe1wK9LzyNN9D3xYjP8TZybBKmXW8p8hb1f3KkQY=</CipherValue>
              </CipherData>
            </EncryptedKey>
          </KeyInfo>
          <CipherData>
            <CipherValue>c5y28XZS4D+35b7Yv+RU8jMsE3iSOESXJ4gHkACP3brNQ/cKJjukxVT9NFmy5gHjbradxa/FDtQVbE9vxXSbJgt0qzWhwFsSDNtT7LlOCCWEFUbhq49kUZdx0YCvjoCYkVoCo4Qzt8tDvX3zzWbNwmr/9FdDZYv3W0UCmJ5CwhPewjPUmWNX68ZJoxb0xouBKsRvOpDEaHD93t94XDZ9afcDNDHRwc1l14lI0aRL52Rglrh2KNHkEbAHbWySuz8uY/LYvbpSb5vftcHYrSL396OOYT2iU+GqXu9RTCfubdzxzdLNGYF0KriRe2iPfplfrgYW1O5FvTqW88ODoDgCSgX0eS1bX17W8ZygQnPEkLz1P8jtT+LCPXo3fORcDKzyaAnOrWDHJYVGkxnPFS1+Jb48KAG1wznzEIoRq/3AKwvAP6QkJ9LKyrSR++1xhjwct96yJk0bComTYYHkoty5S0oOxMjRQ9ipQ4MmOS+k/OfrdrBgzAhXdJ7yNjUL94wV4ghdFUPG5VA8S9ZsILF10H8CU/slKs7a+iZGdUr94x3WK2zqSzFI3T5WuJUK4ED5qye+D6bUwH4K76JnlY1C725mJ3TweBfissZ5OJJHkOibkDpw2BASNrTiZKAqWndPuXd5YETNfLDW35VKV3Mn0kyxBcE2wmOi1iPFgWTm6qoQYDlo/TDwIEcbMzPN0ESJQodNmQqtGq/EdtInyNrSyUD+PVc9qlxslsJjDogjqfh4/c9wXLaTzpgqHiqZY3A8hbHDH629bGr0NVXYwB7kuLkcPVP5kknmKuCAQ3dR4nxSB1zdbrjB9sVqoWaQQVMuNXpkeHAsGxktvS6rAw3vgTa1SKvsMb9MZWfLlXEOAP4uImaSTF1CY8ERYf5P+uRapLqJd4CLVO2IgGuoGJfXYwUF+NaNoYvYUU5XByhgVKx5rGxzoomwVcDB3DaqrtEpRj5FWWIgtoSrOi0Q8HJ7W17MOuW14hyjNRGERQqCdv+8cqdzANMafF6VflH0vMLpLrD0ImSOvz/y+BCZCBogzjrckSKPEwwejpWLSuOXNmnAgFZfoGGCBkXVsTRl5KeLHUuNSBZCe6Nc2ysq/zdJbGotVQ0+byVz3LGtFjcmZ5+vyMa+vcQI6h82cCKLfucBrVzncKg6DNk1JGZrgfY6ayb5ZfrDzRsXNJjeBiCzfn5pCXHI65vDp/25hJ6ApBL3RtHfDF5IpREnQ8titst4wi4jjJKfOWnugtbiFIs4NaLpay/XDm8o6B38vhqxGkaPPXGJMEdq7D1rnAeFzm0A3O5o8hD2lA56kmo+yXKCuPvhig6I5H77tv/0QpWsdg3ajohORlGGEEhOP8vN6Askn+9nWbjVVjhCihC0fwupv7lHv3TU2Dtm2Al7xxXDcvZ6TWW/XK4eUQJlzjAr1X9wjI5RKBr46ACcZj2iVwFBO+HNuO8wxh/cxuZiDAWHUtMpfs5XEYO0YtldK0BHGkv3tH/ZYpxaFXHp5tEiAPUEo//YU5aVfrXDRS1rUdOS/uTRUgNsusP97fF2FdvpzaThKReLaz6lAjjByuXAdX3r0B6ATPNJ3i5WLb46JzoqRM2AaiIzzEmTyEeY0FlYRiDu80vQdr+oncEvS+Vgyc/1bfOVlj3BvTI07vZE3paJvHa6LKjNtXsf90JGOBZjmpMiSCOhI2SNLniFp+F0t99Ne5/GVPZNUz5NLkf6x3c9myuZHGQ5LBoH1gOc4HKvv30/vbPRyIE9CK6wPX/s7+UXZ6fpA5agu74yoDT3rGk0BdtU7B/XOsybzDfu3jbWMzRh/ZNepq6yvxGhTlVPToCx+H1De0Sdkq+oLri/JxZTBsPxNeU1Fp9Nb9au4RimRoX9AWDFe6skQarhXZIOS0IwzWGi4snGAYVrLwnF8H5/BUunfQYbH5RnEhvrhfxF6/98mlfYBuvgb4KFz58sSyOXwSgfHcycnwgUI7G5Gk8rwV5P0goFYZJnepYW7i1NUfor4mCmu8090iLmyvbhOIyUZwalXsCefgOoP2gmIjYV7HuXXSawM7HSKGR633GdREBa/BT89G67UYMB</CipherValue>
          </CipherData>
        </EncryptedData>
      </connectionStrings>

    上面命令中,“-pe“选项表示对Web.config文件加密;“-app“选项可标识奖其加密为Web.config文件的应用程序,如果末使用“-prov"选项指定提供程序,将使用配置为DefaultProvider的提供程序。(加密结果会不一样吧...)

    参考书目:茅健编著.ASP.NET 2.0+SQL Server 2005全程指南.北京:电子工业出版社,2008

  • 相关阅读:
    map集合的见解、排序
    java mysql 数据类型对照
    spring 通过@Value 获取properties文件中设置了属性 ,与@Value # 和$的区别
    nginx中的超时设置,请求超时、响应等待超时等
    Linux配置多个Tomcat同时运行
    Socket TCP Server一个端口可以有多少个长连接?受到什么影响?linux最大文件句柄数量总结
    tomcat关闭后线程依然运行解决办法
    守护线程与非守护线程的区别
    SSM整合——spring4.*配置案例
    SSM事务——事务回滚如何拿到返回值
  • 原文地址:https://www.cnblogs.com/java20130723/p/3211676.html
Copyright © 2011-2022 走看看