none
重提connectionStrings加密问题 RRS feed

  • 问题

  • 先写了一个test.aspx的文件, CS代码如下:
    using System;
    using System.Data;
    using System.Configuration;
    using System.Collections;
    using System.Web;
    using System.Web.Security;
    using System.Web.UI;
    using System.Web.UI.WebControls;
    using System.Web.UI.WebControls.WebParts;
    using System.Web.UI.HtmlControls;
    using System.Web.Configuration;

    public partial class _Default : System.Web.UI.Page
    {
        protected void Page_Load(object sender, EventArgs e)
        {
        }
        //加密web.Config中的指定节
        private void ProtectSection(string sectionName)
        {
            Configuration config = WebConfigurationManager.OpenWebConfiguration

    (Request.ApplicationPath);
            ConfigurationSection section = config.GetSection(sectionName);
            if (section != null && !section.SectionInformation.IsProtected)
            {
                section.SectionInformation.ProtectSection

    ("DataProtectionConfigurationProvider");
                config.Save();
            }
        }

        //解密web.Config中的指定节
        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();
            }
        }
        protected void  Protect_Click(object sender, EventArgs e)
    {
            ProtectSection("connectionStrings");

    }

        protected void UnProtect_Click(object sender, EventArgs e)
        {
            UnProtectSection("connectionStrings");
        }
    }

    上传到虚拟主机, 并通过执行页面程序加密成功.
    -------------------------------------------
    问题是: 如果人家没管理员权限,跟本看不到web.config的内容. 如果有,也可以简单解密. 有何用?
    如果想只有作者才能解密,有没详细点的办法? 前提是asp.net能认

    2010年1月3日 0:22

答案

  • 你干脆写算法加密 这样别人看不到了 缺点是如果知道你的算法公式的话 就可以破解了
    没有完美方法 只有合适需求的方法 
    你可以自己买个服务器 这也是加密法

    • 已标记为答案 dragoonl 2010年1月3日 22:01
    2010年1月3日 4:48