web.config 文件中经常会包含一些敏感信息,最常见的就是数据库连接字符串了,为了防止该信息泄漏,最好是将相关内容加密。

Aspnet_regiis.exe命令已经提供了加密配置文件的方法,系统默认提供两种加密方式:

DataProtectionConfigurationProvider
RSAProtectedConfigurationProvider
当然,如果有兴趣也可以编写自己的加密提供程序。

本文主要讲解如何利用DataProtectionConfigurationProvider来完成web.config的加解密

一 建立虚拟目录 http://localhost/EncryptWebConfig,并添加web.config,其中包含数据库连接字符串:

<connectionStrings>
<add name="Conn" connectionString="Data Source=liuwu;User ID=liuwu;Password=liuwu;"/>
</connectionStrings>

二 运行 aspnet_regiis -pe "connectionStrings" -app "/EncryptWebConfig" -prov "DataProtectionConfigurationProvider"

aspnet_regiis 位于%WinDir%\Microsoft.NET\Framework\<versionNumber>目录下。
-pe 指定要加密的配置节,这里是 connectionStrings 。
-app 指定该配置文件所在的虚拟目录,这里是EncryptWebConfig。
-prov 指定要使用的提供程序,这里使用的是DataProtectionConfigurationProvider。
三 加密后连接字符串已经不可见了,可以看到如下形式的配置节

<connectionStrings configProtectionProvider="DataProtectionConfigurationProvider">
<EncryptedData>
<CipherData>
<CipherValue>AQAAANCMnd8BFdERjHoAw=</CipherValue>
</CipherData>
</EncryptedData>
</connectionStrings>

四 如果要解密,则运行以下命令 aspnet_regiis -pd "connectionStrings" -app "/EncryptWebConfig"

-pd 指定要解密的配置节
-app 指定虚拟目录
五 如果不想建立虚拟目录,也可以指定配置文件的物理路径:aspnet_regiis.exe -pef "connectionStrings" d:\EncryptWebConfig -prov "DataProtectionConfigurationProvider"

-pef 指定要加密的配置节及配置文件的物理路径
六 解密使用 aspnet_regiis -pdf "connectionStrings" d:\EncryptWebConfig

-pdf 指定要解密的配置节及配置文件的物理路径

http://www.veryhuo.com/a/view/9885.html

DataProtectionConfigurationProvider加密web.config文件的更多相关文章

  1. .net加密web.config文件

    这篇文章我将介绍如何利用ASP.NET来加密和解密Web.config中连接字符串,之前只写了第二种方式,现在将两种方式都写出来,供大家参考.不管使用哪种方式我们在程序中都不需要写任何代码来解密连接字 ...

  2. RSAProtectedConfigurationProvider加密web.config

    上一篇文章介绍了用 DataProtectionConfigurationProvider加密web.config文件的方法,不过他有一个缺陷,加密的文件只有在本机才能解密,如果有多台服务器的话,则需 ...

  3. 加密web.config

    当我们要进行数据库的连接时,就会根据<%$ connectionsStrings:MyConnectionStringName %>这个表达式在Web.config文件中找到和MyConn ...

  4. web.config文件中配置数据库连接的两种方式

    web.config文件中配置数据库连接的两种方式 标签: 数据库webconfig 2015-04-28 18:18 31590人阅读 评论(1)收藏举报    分类: 数据库(74)  在网站开发 ...

  5. C#中web.config文件详解

    C#中web.config文件详解 一.认识Web.config文件 Web.config 文件是一个XML文本文件,它用来储存 ASP.NET Web 应用程序的配置信息(如最常用的设置ASP.NE ...

  6. Web.config文件 详解

    一.认识Web.config文件Web.config 文件是一个XML文本文件,它用来储存 ASP.NET Web 应用程序的配置信息(如最常用的设置ASP.NET Web 应用程序的身份验证方式), ...

  7. 一步步开发自己的博客 .NET版(11、Web.config文件的读取和修改)

    Web.config的读取 对于Web.config的读取大家都很属性了.平时我们用得比较多的就是appSettings节点下配置.如: 我们对应的代码是: = ConfigurationManage ...

  8. Web.Config文件中使用configSource

    我们都知道,在asp.net中修改了配置文件web.config后,会导致应用程序重启,所有会话(session)丢失.然而,应用程序的配置信息放在配置文件里是最佳选择,在后台修改了配置后导致所有会话 ...

  9. .net中Web.config文件的基本原理及相关设置

    11.7  使用web.config配置文件 Web配置文件web.config是Web 应用程序的数据设定文件,它是一份 XML 文件,内含 Web 应用程序相关设定的 XML 标记,可以用来简化  ...

随机推荐

  1. delphi 杀死进程

    http://blog.sina.com.cn/s/blog_554b1f1b0100aygo.html unit Tlhelp323; interface uses  Windows,SysUtil ...

  2. (转)c#中判断是不是数字和字母

    一.判断字母string str = Console.ReadLine();if (char.isLetter(str)){ }else if (char.IsDigit(str)){ }if(ch& ...

  3. ThreadLocal用法详解和原理(转)

    本文转自https://www.cnblogs.com/coshaho/p/5127135.html 感谢作者 一.用法 ThreadLocal用于保存某个线程共享变量:对于同一个static Thr ...

  4. iOS:触摸事件和手势识别的介绍

    触摸事件和手势识别的介绍 1.iOS的输入事件  UIKit可识别三种类型的输入事件: 触摸事件 运动事件 远程控制事件 iOS中许多事件对象都是UIEvent类的实例,UIEvent记录了事件所产生 ...

  5. python对于0x01的处理

    对于python脚本,可以使用: .replace('\x01', '') 对于vim工具,可以使用: :%s/\%x01/ /g

  6. reconstruct-original-digits-from-english(好)

    https://leetcode.com/problems/reconstruct-original-digits-from-english/ //https://discuss.leetcode.c ...

  7. windows下mysql中文乱码, 配置解决方法

    内容源自:windows下mysql中文乱码, 配置解决方法 解决方法:打开mysql安装目录,打开my.ini文件(如果只有my-default.ini文件,先将其改名为my.ini!!!) 修改内 ...

  8. jstl表达式引用文件

    <script type="text/javascript" src="<c:url value="/resources/js/common/jqu ...

  9. [Tools] Add a Dynamic Tweet Button to a Webpage

    To let people easily share the patio11bot, we'll add a "Tweet" button to the page. You can ...

  10. JMeter 十六:加密处理

    假设采用MD5进行加密 JMeter 内置的没有MD5加密方法.网上有说采用__MD5函数的,但是我在 Jmeter 2.13 以及 Jmeter 3.2 版本上都没有找到这个函数,官方文档也没有看到 ...