ASP.NET 2.0加密网站配置文件中的信息

转载 2007年09月30日 20:11:00

转自:http://blog.csdn.net/evenbing/archive/2007/09/13/1783827.aspx

加密网站中的配置信息,我们不需要写任何代码,也不需要修改任何代码,只需要使用 aspnet_regiis 工具修改配置文件即可.
比如我们有下面一个配置文件需要加密:
<configuration>
  <connectionStrings>
    <add name="SqlServices" connectionString="Data Source=localhost;
Integrated Security=SSPI;Initial Catalog=Northwind;" />
  </connectionStrings>
</configuration>

    假设这个配置文件在 MyApplication 目录下。
    加密命令:aspnet_regiis -pe "connectionStrings" -app "/MyApplication"

aspnet_regiis 命令在你安装的 .net Framework 目录下, 默认在:C:/WINDOWS/Microsoft.Net/Framework/v2.0.*

加密后的效果:
<configuration>
  <connectionStrings configProtectionProvider="RsaProtectedConfigurationProvider">
    <EncryptedData Type="http://www.w3.org/2001/04/xmlenc#Element"
      xmlns="http://www.w3.org/2001/04/xmlenc#">
      <EncryptionMethod Algorithm="http://www.w3.org/2001/04/xmlenc#tripledes-cbc" />
      <KeyInfo xmlns="http://www.w3.org/2000/09/xmldsig#">
        <EncryptedKey xmlns="http://www.w3.org/2001/04/xmlenc#">
          <EncryptionMethod Algorithm="http://www.w3.org/2001/04/xmlenc#rsa-1_5" />
          <KeyInfo xmlns="http://www.w3.org/2000/09/xmldsig#">
            <KeyName>Rsa Key</KeyName>
          </KeyInfo>
          <CipherData>   <CipherValue>0RU0XfRexc6aLFYZM+f+IWZVINqTZAAunysoVPv0dliPM72D
     34MJ/gX7pzvhSJNqCLiXeyjsayse
     12oAuF4rlIEraa/RHiqDKjqyJtRrRCiqnwqt5PET5LM9Q0aiT20Kpb2G2hn/0QB
      7vKcWydboTdbwmUa7fXaQJhMcKaVI0mc=</CipherValue>
          </CipherData>
        </EncryptedKey>
      </KeyInfo>
       <CipherData>        <CipherValue>BPws3LIOuXhD0qDlfRMWDy9Xwn1jPHnMosKuVn3JVPW
   KmD2h7hJo2BeTIjyIOAq/2J1saLDJm
   JfgG85BEKfVUuNbMRg6czcgXHyOKeAHZgHzdw+d
   zA8qEF/t7wITzuIQEslGK2WlUXNDFg4ZfsYDivmxy6xQh3Fvw4JOCHzLXg/
   ZJrjYcHIk3I27oh/XuxtSQ0VNOl
   gfSsM/MTGwB4tloELcRJ6Jm5u0dJA2fvmjpdc=
  </CipherValue>
      </CipherData>
    </EncryptedData>
  </connectionStrings>
</configuration>

注意:为了避免一行太长,我这里把加密后信息加了几个回车符。

  ASP.NET 在处理 Web.config 文件时会自动对该文件的内容进行解密。因此,不需要任何附加步骤即可对已加密的配置设置进行解密,供其他 ASP.NET 功能使用或用于访问代码中的值。

  如果你想修改这些配置信息,就需要解密这个文件,然后再加密。解密用  aspnet_regiis.exe 命令的 -pd 选项。
参考命令如下:aspnet_regiis -pd "connectionStrings" -app "/MyApplication"

上面给的范例是 针对 IIS 的站点,如果你的站点是使用VS2005 的 ASP.net Development Server
则需要用 -pef 参数,当然 iis 站点也可以这么用:

aspnet_regiis.exe     -pef "connectionStrings"     "E:/MyBlog/BlogCode/WEBSite"

说明:
-pef  对指定物理(非虚拟)目录中的 Web.config 文件的指定配置节进行加密。
对应的这个解密则是
-pdf 参数  对指定物理(非虚拟)目录中的 Web.config 文件的指定配置节进行解密。

参考资料:
http://msdn.microsoft.com/library/default.asp?url=/library/en-us/dnbda/html/bdasamppet4.asp

 

相关文章推荐

轻松加密ASP.NET 2.0 Web程序配置信息

轻松加密ASP.NET 2.0 Web程序配置信息用这个方法来加密程序中的配置文件,app.config一、简介  当创建ASP.NET 2.0应用程序时,开发者通常都把敏感的配置信息存储在Web.c...

ASP.NET 2.0 读取配置文件

Quartz.NET 2.0 学习笔记(3) :通过配置文件实现任务调度

Quartz.NET 项目地址 http://quartznet.sourceforge.net/ Quartz.NET 2.0 学习笔记(1) :Quartz.NET简介 Quartz.NET ...
  • hao_ds
  • hao_ds
  • 2015-01-05 10:18
  • 1629

使用ASP.NET 2.0 Profile存储用户信息[翻译] Level 200

作者: Stephen Walther 原文地址:http://msdn.microsoft.com/asp.net/default.aspx?pull=/library/en-us/dnvs05/...

ASP.NET 2.0 下加密解密算法的封装

保密性:防止用户的标识或数据被读取。 数据完整性:防止数据被更改。 身份验证:确保数据发自特定的一方。 一、数据加密/编码算法列表常见用于保证安全的加密或编码算法如下:1、常用密钥算法密钥算法用来对敏...

浅析ASP.NET 2.0的用户密码加密机制

摘要:  1 加Salt散列  2 ASP.NET 2.0 Membership中与密码散列有关的代码  声明:本文所罗列之源代码均通过Reflector取自.NET Framework类库,Ande...

网站二级域名用asp.net 2.0的实现方案

http://blog.csdn.net/mengyao/article/details/1493537 本人所了解有两种方案,可能还有其的方式,希望大家多多讨论! 基本思路: 1. 域名支...

使用ASP.NET 2.0 Profile存储用户信息[翻译] Level 200

作者: Stephen Walther原文地址:http://msdn.microsoft.com/asp.net/default.aspx?pull=/library/en-us/dnvs05/ht...

使用ASP.NET 2.0 Profile存储用户信息[翻译] Level 200

作者: Stephen Walther 原文地址:http://msdn.microsoft.com/asp.net/default.aspx?pull=/library/en-us/dnvs05/...
内容举报
返回顶部
收藏助手
不良信息举报
您举报文章:深度学习:神经网络中的前向传播和反向传播算法推导
举报原因:
原因补充:

(最多只允许输入30个字)