web.config加密和解密

web.config文件时一个XML文本文件,用来存储ASP.NET中WEB应用程序的配置信息。Web应用开发者往往会将应用程序的一些关键信息配置在web.config文件中,例如:数据库连接字符串。然而,web.config文件也存在一定的安全性隐患,这种以明码方式存储的关键信息,可能会成为别有用心人的突破口,造成不必要的损失。目前,解决这个问题最好的方法是将web.config文件的字符串进行加密,当要修改信息时再进行解密。下面我来介绍一种比较常用的web.config加密和解密方法。
实现过程。
(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.UnprotectSection();
            config.Save();
            Response.Write("<script>alert('解密成功');</script>");
        }
复制代码

效果图如下:

加密前:

加密后:

解密后:

posted @ 2012-06-14 15:20  Aaron.Wu  阅读(222)  评论(0编辑  收藏  举报