标题:
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" -exp
2 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 C
c:\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 b
到
http://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