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-12 15:46  爱智旮旯  阅读(1416)  评论(4编辑  收藏  举报