ASP.NET2.0中配置文件的加密与解密
生活随笔
收集整理的這篇文章主要介紹了
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>
加密操作如下:
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>
轉載于:https://www.cnblogs.com/pw/archive/2006/06/25/435357.html
總結
以上是生活随笔為你收集整理的ASP.NET2.0中配置文件的加密与解密的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: ActiveRecord学习(六):总结
- 下一篇: IBatisNet1.5学习--配置篇