无需命令行工具即可加密web.config

时间:2012-07-24 17:55:29

标签: asp.net .net encryption web-config asp.net-4.0

我想加密位于appSettings文件中的ConnectionStringsweb.config

但由于我使用的是共享主机,因此我无法使用aspnet_regiis.exe方法。

还有其他加密web.config文件的方法吗? (在线工具,远程工具,编程方式或......)

2 个答案:

答案 0 :(得分:2)

我没有通过CodeProject对我进行测试,希望它能够正常运行 Aspx代码:

 <asp:Button id="btnEncrypt" runat="server" Text="Encrypt" onclick="btnEncrypt_Click" />
 <asp:Button ID="btnDecrypt" runat="server" Text="Decrypt" onclick="btnDecrypt_Click" />

 Code Behind:

    string provider = "RSAProtectedConfigurationProvider";
    string section = "connectionStrings";
    protected void Page_Load(object sender, EventArgs e)
    {

    }
    protected void btnEncrypt_Click(object sender, EventArgs e)
    {
       Configuration confg = WebConfigurationManager.OpenWebConfiguration(Request.ApplicationPath);
       ConfigurationSection configSect = confg.GetSection(section);
       if (configSect != null)
       {
          configSect.SectionInformation.ProtectSection(provider);
          confg.Save();
       }
    }

    protected void btnDecrypt_Click(object sender, EventArgs e)
    {
       Configuration config = WebConfigurationManager.OpenWebConfiguration(Request.ApplicationPath);
       ConfigurationSection configSect = config.GetSection(section);
       if (configSect.SectionInformation.IsProtected)
       {
          configSect.SectionInformation.UnprotectSection();
          config.Save();
       }
    }

http://www.codeproject.com/Tips/304638/Encrypt-or-Decrypt-Connection-Strings-in-web-confi

答案 1 :(得分:1)

试试这篇文章:

http://msdn.microsoft.com/en-us/library/ms998283.aspx

请注意步骤2中使用的观察结果。请告诉我这是否适合您。