`
dowhathowtodo
  • 浏览: 771150 次
文章分类
社区版块
存档分类
最新评论

对web.config中的数据库连接字符串进行加密

 
阅读更多

网站部署在客户服务器上,但是网站所用的数据库要连接公司mssql服务器。如果数据库连接字符串明文写在web.config中,将是相当危险的事情。

在命令提示符总进入到 C:\WINDOWS\Microsoft.net\Framework\ v4.0.xxxx,其中xxxx是您的软件版本。路径为web.config所在目录。

加密:

aspnet_regiis –pef connectionStrings C:\Sales

需要注意的是如果连接字符串写在appSettings下需要改成:

aspnet_regiis –pef appSettings C:\sales

一旦执行完了加密过程,就可以打开Web.config文件,但是连接字符串已经被混淆。当ASP.NET需要,连接字符串即可自动解密,或者如果需要进行一些更改,例如修改密码,则可以手动输入以下代码来解密。

aspnet_regiis –pdf connectionStrings c:\Websites\BegAspNet2Db

请注意,在默认情况下,加密过程使用了一个基于加密算法执行的机器的键。解密过程(无论手动还是在处理页面过程中)必须发生在与加密相同的机器上。例如,作为XCOPY部署的一部分,移动Web.config至另外一台机器将会导致Web.config无法解密,所以推荐在部署Web站点至最终机器之后,再将连接字符串进行加密。

但是如果用这种方式加密,仅仅能防止普通用户查看密码,因为用aspnet_regiis –pdf同样能轻而易举的解密!

解决方法是加上一个RSA 密钥容器。

假設今天我們要加密web.config,並部署到三台機器上,全部操作如下:

  1. 用aspnet_regiis -pc "SharedKeys"–exp建立三台機器共用的RSA金鑰容器(Key Container)
  2. 以aspnet_regiis -px "SharedKeys" keys.xml -pri將RSA金鑰容器匯出成XML檔
  3. 將keys.xml複製到三台機器上
  4. 在三台機器上執行aspnet_regiis -pi "SharedKeys" keys.xml滙入RSA金鑰容器
  5. 在三台機器上執行aspnet_regiis -pa "SharedKeys" "NT AUTHORITY\NETWORK SERVICE"授與ASP.NET程式執行權限 (2010-08-30更新: IIS 7.5預設會使用IIS APPPOOL\YourAppPoolName帳號而非NT AUTHORITY\NETWORK SERVICE,詳情可參見保哥的文章,以下應用到授權的地方均比照,不再重複說明。)
  6. 在web.config中加入
    <configProtectedData>
    <providers>
    <add keyContainerName="SharedKey" useMachineContainer="true"
    name="SharedKey" type="System.Configuration.RsaProtectedConfigurationProvider,System.Configuration, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a" />
    </providers>
    </configProtectedData>
  7. 使用aspnet_regiis -pe "connectionStrings" -app "/WebApplication" -prov "SharedKeys"加密連線字串區
  8. 將加密後的web.config部署到三台機器上

找来找去还是微软的文档全面:
 
分享到:
评论

相关推荐

    web.config的数据库连接字符串进行加密[文].pdf

    web.config的数据库连接字符串进行加密[文].pdf

    【ASP.NET编程知识】ASP.NET web.config中 数据库连接字符串加密解密.docx

    【ASP.NET编程知识】ASP.NET web.config中 数据库连接字符串加密解密.docx

    Web.Config中的连接字符串的加密与解密

    如何加密Web.Config中的连接字符串?Asp.Net用一种无格式的文本文件储存所有的配置信息叫Web.Config和Machine.Config,我们保存所有致关重要的信息,包括数据库连接字符串,其中就有数据库的用户名,密码,一旦在没有...

    c_加密Web.Config中的连接字符串

    Web.Config中的连接字符串的安全,包括数据库的连接

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

    本文主要介绍利用aspnet_regiis.exe工具对web.config中connectionStrings节点进行加密和解密的过程,希望对大家有所帮助。

    数据库连接字符串的加密与解密源代码

    Web.Config中数据库连接字符串包含用户名和密码,很容易被泄露,使用该方法可以隐藏明文。这是带完整工程的源代码。

    C# Web.Config 加密与解密

    用后台编码的形式对web.config数据库连接字符串或者某个节点进行加密这里提供俩种方式:DataProtectionConfigurationProvider和RSAProtectedConfigurationProvider

    Asp.net WebConfig加密解密.rar

    案例通过利用微软提供的方式(RSAProtectedConfigurationProvider和DataProtectionConfgurationProvider)对Web.Config 中的数据库连接字符串进行加密和解密操作

    asp.net access web.config denied

    您可能感兴趣的文章:详解ASP.NET配置文件Web.configasp.net代码中修改web.config节点的具体方法ASP.NET web.config中数据库连接字符串connectionStrings节的配置方法asp.net web.config加密解密方法ASP.NET(C#)应用...

    .Net Framwork自带的工具Aspnet_regiis加密解密web.config

    通过使用该工具对项目中的webconfig等配置文件进行加密与解密,保护配置文件的敏感信息(数据库连接字符串)

    动软代码生成器2.78

    版本2.78 代码生成组件源码 生成项目后,请选择“包括在项目中”,将生成的文件包含到项目。 Builder目录中是代码生成插件源码,动软支持可扩展的代码生成...加解密工具 是 web.config中数据库连接字符串的加密工具。

    字符串加密源码2012918

    字符串加密源码 功能介绍: 实现了动软的数据库连接字符串的加密,解密功能 一般数据库连接在web.config中加密。需要的用户可以 下载学习

    详解C#App.config和Web.config加密

    打开cmd,进入vs安装目录C:\Windows\Microsoft.NET\Framework64\v4.0.30319 cd C:\Windows\Microsoft.NET\...需要加密的App.config数据库连接字符串为 &lt;add name=connStr connectionString=Data Source=.

    asp.net2.0如何加密数据库联接字符串

    asp.net2.0如何加密数据库联接字符串 在asp.net2.0中,发布网站时,加密web.config,这样可以有效保证数据库用户和密码安全,其步骤如下: 1.添加密钥 执行:C:\WINDOWS\Microsoft.NET\Framework\v2.0.50727\aspnet_regiis...

    asp.net 禁用viewstate在web.config里

    您可能感兴趣的文章:详解ASP.NET配置文件Web.configasp.net代码中修改web.config节点的具体方法ASP.NET web.config中数据库连接字符串connectionStrings节的配置方法asp.net web.config加密解密方法ASP.NET(C#)应用...

    动软代码生成器 修复单类代码生成器4个问题。

    修复单类代码生成器4个问题。 2.新增创建加载数据库时,表名过滤功能。 3.表名生成命名规则,字符串替换功能。 4.模板中字段排序方法公开。...★ 加解密工具 是 web.config中数据库连接字符串的加密工具。

    web.net connstring加密程序

    用于加密.net WebForm的Web.Config文件中的数据库连接字符串. 本软件支持.net 2.0 和 .net 4.0. 注意事项: 1.需要安装.net4.0运行库才能运行. 2.程序中需要获取web.config路径时,可以使用复制把web.config所在路径...

    动态代码生成器.zip

    软件名称: 动软代码生成器 软件版本: 2.76 软件语言: 简体中文 运行环境: Win2003/XP/2000/WIN7 .NET Framework 2.0 ...1.完善数据库加载的...★ 加解密工具 是 web.config中数据库连接字符串的加密工具。

    DBHelper数据库操作类(支持OleDb、MySQL、Oracle、SQL、SQLite).zip

    数据库连接字符串(web.config来配置),可以动态更改connectionString支持多数据库. 得到最大值 是否存在 是否存在(基于MySqlParameter) 执行SQL语句,返回影响的记录数 执行MySql和Oracle滴混合事务 执行多条SQL...

Global site tag (gtag.js) - Google Analytics