淺談ASP.NET2.0中配置文件的加密與解密_.Net教程

      編輯Tag賺U幣
      教程Tag:暫無Tag,歡迎添加,賺取U幣!

      推薦:ASP.NET遍歷配置文件的連接字符串
      在ASP.NET 2.0中,提供了更方便的配置文件訪問的類,具體可以到System.Configuration名稱空間下進行查看。本文提供一種在開發過程中常用的得到數據庫字符串的方法,為方便使用,寫成一個方法進行調用: 以下為引用的內容: public string GetConnectionStrin

      首先添加引用: using System.Web.Configuration;

      加密操作如下:

      以下為引用的內容:

      private void ProtectSection(string sectionName, string provider)
      {
      Configuration config =
      WebConfigurationManager.
      OpenWebConfiguration(Request.ApplicationPath);

      ConfigurationSection section = config.GetSection(sectionName);

      if (section != null && !section.SectionInformation.IsProtected)
      {
      section.SectionInformation.ProtectSection(provider);
      config.Save();
      }
      }

      解密操作如下:

      以下為引用的內容:


      private void UnProtectSection(string sectionName)
      {
      Configuration config =
      WebConfigurationManager.
      OpenWebConfiguration(Request.ApplicationPath);

      ConfigurationSection section = config.GetSection(sectionName);

      if (section != null && section.SectionInformation.IsProtected)
      {
      section.SectionInformation.UnprotectSection();
      config.Save();
      }
      }


      實踐:

      加密前的配置文件:

      以下為引用的內容:
      <?xml version="1.0"?>
      <configuration>
      <appSettings>
      <add key="name" value="shy520" />
      <add key="address" value="cnblogs" />
      </appSettings>
      <system.web>
      <compilation debug="true"/>
      </system.web>
      </configuration>
      加密后的配置文件:
      <?xml version="1.0"?>
      <configuration>
      <appSettings configProtectionProvider="DataProtectionConfigurationProvider">
      <EncryptedData>
      <CipherData>
      <CipherValue>
      AQAAANCMnd8BFdERjHoAwE/Cl s
      BAAAABi1ATlNkEUGEf0XyWGL2Xg
      QAAAACAAAAAAADZgAAqAAAABAAA
      ABIhxMWlazAntwIIpST1CDXAAAA
      AASAAACgAAAAEAAAAPz/YKYx07c
      b h4fqdr4fkLgAAAAX1Ieyc WSx
      AfsDW1vn2C/fXsG2TAnYeUgaCov
      8e3nGFTHHsH91gLiqKregFPYzGR
      vW1xrez/3VwOmJI9eS7EFKrcXej
      NnHL66kg2iNRk3ntLNZlZtTs3cZ
      9w63u47VKAjs6miWsGBz2GntL/9
      UGHLELigrJcr3YJ lsjOscExQnv
      HGvA48EfxpD tEiFBtgXeHsFkQX
      cqGySshx16vCt2GUNUC3ZmEAhBh
      UsAFkPIYqelYHd4 m9a/xPe2tqw
      GIbla1wbW2NDEfrzJPwnkfmpNqR
      hXijKImipwXbDVYy6o0UAAAAs8D
      suYNOhJ7qAjJa2c/4eUC7sks=
      </CipherValue>
      </CipherData>
      </EncryptedData>
      </appSettings>
      <system.web>
      <compilation debug="true"/>
      </system.web>
      </configuration>

      分享:探討.Net整合其他平臺
      整合分布式應用程序經常是一件非常困難并且錯綜復雜的任務,即使是最富有經驗的開發者也可能會覺得頭疼。當應用程序在不同的操作系統以及涉及不同的程序平臺時,這個集成問題變得尤其復雜。雖然說,Web服務承諾可以減輕程序員完成集成任務的困難程度,但是也

      來源:模板無憂//所屬分類:.Net教程/更新時間:2009-05-26
      相關.Net教程