ASP.NET2.0中配置文件的加密与解密

首先添加引用: 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>

posted on 2006-06-25 18:35  Daniel Pang  阅读(2006)  评论(1编辑  收藏  举报

导航