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. 使用idea搭建Spring boot开发初始环境

    准备工作 将以下代码加入idea的live template,命名为springbootStartup <parent> <groupId>org.springframewor ...

  2. ApplicationDelegate里的方法

    // 程序第一次加载完毕 - (BOOL)application:(UIApplication*)application didFinishLaunchingWithOptions:(NSDictio ...

  3. TCP协议中的重传、慢启动、SACK、窗口的概念

    重传机制     慢启动相关的几个状态说明该     SACK机制     窗口在TCP传输机制中的作用

  4. Linux命令之sync - 强制将内存中的文件缓冲内容写到磁盘

    转:http://www.linuxso.com/command/sync.html sync命令 linux同步数据命令 格式: sync 用途:更新 i-node 表,并将缓冲文件写到硬盘中. 功 ...

  5. WinForm客户端调用 WebService时 如何启用Session

    WinForm客户端调用 WebService时 如何启用Session 摘自: http://www.cnblogs.com/swtseaman/archive/2011/04/18/2020176 ...

  6. 【云计算】CloudFoundry参考资料

    开源PaaS平台 Cloud Foundry:http://www.oschina.net/p/cloud+foundry/ 详解CloudFoundry中各个组件的作用:http://www.cst ...

  7. 【实践】关于p 标签内嵌 p标签的bug

    项目中遇到了一点小问题: 是这样的,在输入框包裹元素 p标签中想内嵌一个p 标签用作显示提示字符,谁知发生了一下一幕: 页面结构: <p class="modify-info-wrap ...

  8. Mapper not initialized. Call Initialize with appropriate configuration.

    System.InvalidOperationException:“Mapper not initialized. Call Initialize with appropriate configura ...

  9. 一般源码安装添加的GD库 是不支持 jpeg 格式的图片的

    一般源码安装添加的GD库 是不支持 jpeg 格式的图片的,只支持如下格式 GD Support enabled GD Version bundled (2.0.34 compatible) GIF ...

  10. Web Services 指南之:Web Services 综述

    在本系列指南中.我们学习了怎样使用 Web Services.可是一个 web service 还包含可以使它活跃的组件.诸如 WSDL.UDDI 以及 SOAP.接下来我们了解一下 WSDL.UDD ...