- 摘要:本文介绍asp.net web.config加密和解密,并提供简单的示例代码供参考。
web.config文件时一个XML文本文件,用来存储ASP.NET中WEB应用程序的配置信息。Web应用开发者往往会将应用程序的一些关键信息配置在web.config文件中,例如:数据库连接字符串。然而,web.config文件也存在一定的安全性隐患,这种以明码方式存储的关键信息,可能会成为别有用心人的突破口,造成不必要的损失。目前,解决这个问题最好的方法是将web.config文件的字符串进行加密,当要修改信息时再进行解密。下面我来介绍一种比较常用的web.config加密和解密方法。
实现过程。
(1)首先我们在页面中添加两个按钮,在加密按钮的单击事件中编写加密代码。(这里需要引用using System.Web.Configuration;命名空间)
实现过程。
(1)首先我们在页面中添加两个按钮,在加密按钮的单击事件中编写加密代码。(这里需要引用using System.Web.Configuration;命名空间)
// 打开该应用程序中的配置文件
Configuration config = WebConfigurationManager.OpenWebConfiguration(Request.ApplicationPath);
//在打开的配置文件中找到指定的节
ConfigurationSection section = config.GetSection("appSettings");
if (section !=null&&!section.SectionInformation.IsProtected)
{
section.SectionInformation.ProtectSection("RsaProtectedConfigurationProvider");
config.Save();
Response.Write("<script>alert('加密成功!');</script>");
}
(2)在解密按钮的单击事件中编写解密代码。
Configuration config = WebConfigurationManager.OpenWebConfiguration(Request.ApplicationPath);
//在打开的配置文件中找到指定的节
ConfigurationSection section = config.GetSection("appSettings");
if (section !=null&&!section.SectionInformation.IsProtected)
{
section.SectionInformation.ProtectSection("RsaProtectedConfigurationProvider");
config.Save();
Response.Write("<script>alert('加密成功!');</script>");
}
Configuration config = WebConfigurationManager.OpenWebConfiguration(Request.ApplicationPath);
ConfigurationSection section = config.GetSection("appSettings");
if (section !=null&& section.SectionInformation.IsProtected)
{
section.SectionInformation.UnprotectSection();
config.Save();
Response.Write("<script>alert('解密成功');</script>");
}
ConfigurationSection section = config.GetSection("appSettings");
if (section !=null&& section.SectionInformation.IsProtected)
{
section.SectionInformation.UnprotectSection();
config.Save();
Response.Write("<script>alert('解密成功');</script>");
}
效果图如下:
加密前:
加密后:
解密后: