您所在的位置: 首页>>开发>>.Net>>asp.net>>

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

http://developer.51cto.com  2006-10-25 11:55    51CTO论坛  我要评论(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>
 
(责任编辑 zhaohb zhaohb#51cto.comTEL:(010)68476636-8002)

专题:ASP.NET 2.0基础开发指南
微软的Ajax:Atlas(ASP.net AJAX)
加密与解密技术
ASP.NET开发教程
深入Vista应用程序开发
 
 验证码: (点击刷新验证码)   匿名发表
  • Visual C++ 完全自学宝典

  • 作者:强锋科技,朱洪波
  • Visual C++ 6.0是微软公司为程序人员提供的Visual Studio 6.0工具套件中的重要组成部分。本书由浅入深地介绍使用Visual C++ 6.0..
Copyright©2005-2008 51CTO.COM 版权所有