zoukankan      html  css  js  c++  java
  • ASP.NET数据库连接字符串的加密与解密

    ASP.NET web.config中,数据库连接字符串的加密与解密。

    虽然不怎么新鲜,但相信还是有许多人不知道,好,不说废话,直接给方法:开始--->运行,输入cmd,接着输入以下内容

    加密:

    C:WINDOWSMicrosoft.NETFrameworkv2.0.50727aspnet_regiis.exe -pef "connectionStrings" "你的Web项目路径"

    解密:

    C:WINDOWSMicrosoft.NETFrameworkv2.0.50727aspnet_regiis.exe -pdf "connectionStrings" "你的Web项目路径"

    .NET为版本的路径自行修改,其中connectionStrings连接字符串的名称。

    需要注意的是,加密过程中使用了一个基于本机的密钥,这意味着解密过程必须在同一台计算机上完成。如果是将加密后的Web.config文件移动到其它计算机上,那么Web.config文件中的连接字符串将不能够正常解密。

     

    ASP.net2.0提供了简便的加密方法,即使用aspnet_iis.exe命令,该命令位置如下:

    C:WINDOWSMicrosoft.NETFrameworkv2.0.50727

    注意,具体情况视系统位置及版本号有所差异

    在命令模式下进入该目录即可运行,完整命令为:

    aspnet_iis -pef "connectionStrings" "Web.cofing绝对路径(注:不需要输入web.config)"

    如果正常会提示“成功”,此时打开Web.config会发现字符串已加密

    解密命令为:

    aspnet_iis -pdf "connectionStrings" "Web.cofing绝对路径(注:不需要输入web.config)"

    注意的是加密、解密必须在一台机器上完成。

    -----------------------------

    下面显示的是通过代码方式对数据库连接字符串加密,代码如下:

    Configuration config = WebConfigurationManager.OpenWebConfiguration(Request.ApplicationPath);

    ConfigurationSection configSection = config.GetSection("connectionStrings");

    if (configSection.SectionInformation.IsProtected)

    ...{//如果已经加密,就不用再加密了

    configSection.SectionInformation.UnprotectSection();

    config.Save();

    }

    else

    ...{

    configSection.SectionInformation.ProtectSection ("DataProtectionConfigurationProvider");

    config.Save();

    }

  • 相关阅读:
    C++实现希尔排序和快排
    操作系统重点知识汇总
    结构体(对齐规则及举例)
    指针和引用(传指针和传引用)
    数组和指针
    判断一个字符是否为数字的两种方法(C/C++)
    浅谈操作系统栈和堆(区别与联系)
    浅谈malloc/free和new/delete 的区别
    操作符和表达式
    windows重装系统后grub引导菜单修复方法(亲自实验过)
  • 原文地址:https://www.cnblogs.com/liuguanghai/p/3752505.html
Copyright © 2011-2022 走看看