Board logo

标题: asp.net2.0如何加密数据库联接字符串 [打印本页]

作者: lilcy88    时间: 2008-5-28 10:41     标题: asp.net2.0如何加密数据库联接字符串

asp.net2.0如何加密数据库联接字符串( ~' ~$ ~* j( N4 g4 O, w) \! T* i
在asp.net2.0中,发布网站时,加密web.config,这样可以有效保证数据库用户和密码安全,其步骤如下:
$ M, e/ j4 _$ u1.添加密钥
$ m! `" N( q$ {! U1 y执行:c:\windows\microsoft.net\framework\v2.0.50727\aspnet_regiis -pc "hnlaw" -exp
1 h# G0 S; m5 M0 h其中"hnlaw"为密钥名称
0 Q( g' [- `4 P. _% F, q2.添加web.config节点
9 k+ y, ~$ ?, H2 x) x, Y在web.config的<configuration></configuration>之间添加:$ n# {& ]8 D/ `- I' B3 w
<configprotecteddata>
, `1 s7 d) z2 U: F) ]8 ~( K( U2 Z  <providers>  L* [3 U; Z( A& M( F1 ~
   <add keycontainername="hnlaw" usemachinecontainer="true" description="uses rsacryptoserviceprovider to encrypt and
6 H* P9 U* A0 ?+ w4 }* ]  vdecrypt" name="hnlaw" type="system.configuration.rsaprotectedconfigurationprovider,system.configuration, version=2.0.0.0,
/ r3 ^6 M, T# U4 d, v  U$ ^$ nculture=neutral, publickeytoken=b03f5f7f11d50a3a" />
9 Q  M1 P2 B* N! r4 z. @- |  </providers>+ J& e* x* |) z8 M; p& q
</configprotecteddata>2 z2 [2 R% O, ]- q8 K
注意:这里keycontainername="hnlaw"和name="hnlaw"分别表示你的密钥名称;3 p; W' Q9 ?' n9 V
3.加密web.config' y8 g" u9 M: q' \+ [" Q
到网站根目录添加一个批处理文件enweb.bat,内容如下:
3 A5 I) f: t. ]6 M7 E6 o+ W8 R@echo off
9 T1 T1 M+ s( P# Hc:\windows\microsoft.net\framework\v2.0.50727\aspnet_regiis -pef "system.web/identity" "e:\hs  studio\donet2\hnlawyer" -prov
' J5 K; ]1 g7 n"hnlaw"
+ v9 [/ R' |1 G" e# n1 k8 m1 F  c:\windows\microsoft.net\framework\v2.0.50727\aspnet_regiis -pef "connectionstrings" "e:\hs  studio\donet2\hnlawyer" -prov
1 A, ~/ c8 @" ?; O"hnlaw"
& Y; \  `1 N& N, K2 A7 `* gpause
$ Z" u$ s: A  t7 `5 D4 x注册上面的的路径和名称!) x3 ]3 x# J, D: ?( M3 v
运行后出现成功!0 _. x6 v# p" b, ^& d
4.解密2 Z& Q5 w7 f: E% ]1 Z% v
同样到网站根目录添加一个批处理文件deweb.bat,内容如下:
' i  M# J. l% b8 p# t@echo off, J1 g! w9 W! \% L
c:\windows\microsoft.net\framework\v2.0.50727\aspnet_regiis -pef "system.web/identity" "e:\hs  studio\donet2\hnlawyer"
/ @0 D# _+ G& B" `0 Y$ lc:\windows\microsoft.net\framework\v2.0.50727\aspnet_regiis -pdf "connectionstrings" "e:\hs  studio\donet2\hnlawyer"
% _% k& Q1 b( O. `7 Q0 Upause6 H, c# O- C! j7 V5 G+ `. P- c- A
最后就是要注意:做完后找到c:\documents and settings\all users\application data\microsoft\crypto\rsa\machinekeys目录下,找到生成
# h$ v0 H/ m8 C) h的密钥文件(可按时间查找),给上network service可读取权限,不然会出现error message from the provider: the rsa key container could ; N$ Q& n# c) H2 S. l- \
not be opened.无法读取# b0 J# c3 b  }7 B4 O

& u( u6 b9 ?& o$ b: ]; V9 }这样可能会出现,如果没有自己的服务器,没有权限修改machinekeys目录顺便向你推荐一款高速稳定的时代互联智强商务C型 +.CN域名,原价1952元/年,现( u5 I# P. v' J) h, _6 ~
价只需1588元/年,还免费送域名,CDN网站加速器 送繁简通网络简装版 ,联付宝网上支付,我觉得特值,特向大家推荐!有兴趣的朋友可
5 K+ j/ K) r; @: @# v0 @1 h7 Vhttp://www.now.cn/vhost申请试试!     电话:0756-2623871   QQ: 168075865   MSN:north888@now.net.cn$ L1 a' m/ e2 F9 n! J5 Q
全球免费咨询电话 http://www.now.cn/callcenter/call.net?LineName=55




欢迎光临 捌玖网络工作室 (http://www.89w.org/) Powered by Discuz! 7.2