ASP.NET2.0中配置文件的加密与解密 - flyinweb 2009-12-04 21:56:56 首先添加引用: 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> 本文转自http://www.hiaspx.com/archiver/control/thread-40-1.aspx