Board logo

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

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

asp.net2.0如何加密数据库联接字符串5 p4 k7 I$ @  a
在asp.net2.0中,发布网站时,加密web.config,这样可以有效保证数据库用户和密码安全,其步骤如下:9 y. W/ {" `9 `1 Q$ [3 n% g, Z: x; j
1.添加密钥" F" P* a) ~, h) H
执行:c:\windows\microsoft.net\framework\v2.0.50727\aspnet_regiis -pc "hnlaw" -exp2 P" F4 o; [; v5 U
其中"hnlaw"为密钥名称/ C" z% v3 b7 X$ V; n* e; P
2.添加web.config节点0 c; z! t: t0 p. N2 G" e
在web.config的<configuration></configuration>之间添加:8 X8 T5 t2 O( e3 m7 r" I
<configprotecteddata>
2 v6 j9 T. j2 ?0 p& `' D  <providers>$ e$ d1 F, G$ l; H& h6 }; E
   <add keycontainername="hnlaw" usemachinecontainer="true" description="uses rsacryptoserviceprovider to encrypt and 7 ~& S# j) N, i. @$ p
decrypt" name="hnlaw" type="system.configuration.rsaprotectedconfigurationprovider,system.configuration, version=2.0.0.0, - z" _) [$ a. r5 g
culture=neutral, publickeytoken=b03f5f7f11d50a3a" />1 R3 w' ?% ~1 W/ z
  </providers>0 s3 q) O5 h/ F
</configprotecteddata>1 A9 [3 W4 n7 ~8 g, F7 X
注意:这里keycontainername="hnlaw"和name="hnlaw"分别表示你的密钥名称;( o0 O; p, ]! X& ~$ H
3.加密web.config
6 j* O' E8 j! r' Q6 j4 F, z  G到网站根目录添加一个批处理文件enweb.bat,内容如下:
2 _% S! |) L( W9 m@echo off
; p& o" B$ `0 Cc:\windows\microsoft.net\framework\v2.0.50727\aspnet_regiis -pef "system.web/identity" "e:\hs  studio\donet2\hnlawyer" -prov ; f$ X  v$ Y, ~0 E  _) [4 Q' h
"hnlaw"4 T* {& b- e7 w8 s( h& `
  c:\windows\microsoft.net\framework\v2.0.50727\aspnet_regiis -pef "connectionstrings" "e:\hs  studio\donet2\hnlawyer" -prov
6 q) L- o4 v( P$ r) K% n/ o- ~"hnlaw"4 @+ E+ v3 v0 ~3 @
pause" R, Q' k+ z3 O) J* T0 c; P3 T
注册上面的的路径和名称!: I5 ^" P9 e7 C  G, G' H' y
运行后出现成功!
9 {# S2 N5 t. ]( m4 W7 ]4.解密  z3 m/ O: B  ]1 G; M
同样到网站根目录添加一个批处理文件deweb.bat,内容如下:4 @* w* U3 r( V! d. M* `$ {
@echo off
& L0 g* z8 R5 a5 s$ A* ]c:\windows\microsoft.net\framework\v2.0.50727\aspnet_regiis -pef "system.web/identity" "e:\hs  studio\donet2\hnlawyer": e7 m8 w0 y8 O2 U% d
c:\windows\microsoft.net\framework\v2.0.50727\aspnet_regiis -pdf "connectionstrings" "e:\hs  studio\donet2\hnlawyer"
# X8 t. F3 D4 h' K: ?pause
$ m. Y8 R7 C; R/ J/ }) K+ z& H最后就是要注意:做完后找到c:\documents and settings\all users\application data\microsoft\crypto\rsa\machinekeys目录下,找到生成: H$ V# n" j" `5 r9 V/ O
的密钥文件(可按时间查找),给上network service可读取权限,不然会出现error message from the provider: the rsa key container could
: A2 Q& u8 a, m- ^not be opened.无法读取" Q0 k/ g$ t# s1 t# ~0 s  B
0 G( ]6 S) r# l" Z
这样可能会出现,如果没有自己的服务器,没有权限修改machinekeys目录顺便向你推荐一款高速稳定的时代互联智强商务C型 +.CN域名,原价1952元/年,现" o) Q! y$ a: @' @2 ]
价只需1588元/年,还免费送域名,CDN网站加速器 送繁简通网络简装版 ,联付宝网上支付,我觉得特值,特向大家推荐!有兴趣的朋友可
* V9 f! t% N  w; `" A/ G3 bhttp://www.now.cn/vhost申请试试!     电话:0756-2623871   QQ: 168075865   MSN:north888@now.net.cn
' T3 `$ n& e3 \* p- I& v! h+ r( E全球免费咨询电话 http://www.now.cn/callcenter/call.net?LineName=55




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