标题:
asp.net2.0如何加密数据库联接字符串
[打印本页]
作者:
lilcy88
时间:
2008-5-28 10:41
标题:
asp.net2.0如何加密数据库联接字符串
asp.net2.0如何加密数据库联接字符串
% H+ b; r9 h1 R6 M& E
在asp.net2.0中,发布网站时,加密web.config,这样可以有效保证数据库用户和密码安全,其步骤如下:
7 E J! Q) ?0 J
1.添加密钥
- L! I% d! k' e- M8 m* r# c
执行:c:\windows\microsoft.net\framework\v2.0.50727\aspnet_regiis -pc "hnlaw" -exp
9 j5 z7 N( m8 S$ ]7 Z2 d9 O/ b9 i
其中"hnlaw"为密钥名称
3 E9 N, K O2 J$ f: t8 F" H
2.添加web.config节点
3 c. I, j7 V- i4 r1 m) D
在web.config的<configuration></configuration>之间添加:
3 S. q' C" W- s
<configprotecteddata>
+ X- Z1 T9 }; c7 g; o8 b
<providers>
" P2 i6 X3 W7 G" V2 J6 }
<add keycontainername="hnlaw" usemachinecontainer="true" description="uses rsacryptoserviceprovider to encrypt and
" Y6 t7 ?5 u+ l K( j6 d( ~8 M# K. q
decrypt" name="hnlaw" type="system.configuration.rsaprotectedconfigurationprovider,system.configuration, version=2.0.0.0,
9 l$ W: X6 `7 o5 f! N
culture=neutral, publickeytoken=b03f5f7f11d50a3a" />
& E# \ r/ ]3 D
</providers>
: |; n0 I$ u) j/ I
</configprotecteddata>
: }$ n$ c: M! E7 M3 P& n
注意:这里keycontainername="hnlaw"和name="hnlaw"分别表示你的密钥名称;
: R, v+ D: q& A) R! G$ E
3.加密web.config
# G2 @6 |9 W9 ` J' M
到网站根目录添加一个批处理文件enweb.bat,内容如下:
( V* z. k# L0 s c
@echo off
9 L7 q$ [# v& Y3 r& ^5 f5 C. |
c:\windows\microsoft.net\framework\v2.0.50727\aspnet_regiis -pef "system.web/identity" "e:\hs studio\donet2\hnlawyer" -prov
3 u" D/ Z& a) m+ p) C. ^6 M) w( G
"hnlaw"
# {4 R0 |* H$ f0 F$ l- c9 ^
c:\windows\microsoft.net\framework\v2.0.50727\aspnet_regiis -pef "connectionstrings" "e:\hs studio\donet2\hnlawyer" -prov
1 l! b4 ?7 A: _
"hnlaw"
! d6 O+ [/ ]" P$ v: U/ ?. s
pause
! n) R* q& P4 x! C* t9 z
注册上面的的路径和名称!
) K+ r; g0 S/ t
运行后出现成功!
! p# \1 l, w, P6 h
4.解密
2 ~$ {1 d# J+ K% B8 o
同样到网站根目录添加一个批处理文件deweb.bat,内容如下:
& q' r8 T# ], Q+ @% _
@echo off
$ j% L7 I3 X# v; w R- M" N3 T
c:\windows\microsoft.net\framework\v2.0.50727\aspnet_regiis -pef "system.web/identity" "e:\hs studio\donet2\hnlawyer"
2 ]( Y7 b3 o. k: M9 F4 `" x
c:\windows\microsoft.net\framework\v2.0.50727\aspnet_regiis -pdf "connectionstrings" "e:\hs studio\donet2\hnlawyer"
0 D! r, F4 \+ Q- F# z
pause
8 J7 s% i: V6 a+ I
最后就是要注意:做完后找到c:\documents and settings\all users\application data\microsoft\crypto\rsa\machinekeys目录下,找到生成
' ?* V- o0 ^ A5 ` J4 f
的密钥文件(可按时间查找),给上network service可读取权限,不然会出现error message from the provider: the rsa key container could
8 K: S" [4 N6 W. K8 Z+ h U/ D- C
not be opened.无法读取
6 }% y8 Q# d& V) \7 A
( V! C( A+ O* g9 X! A6 V
这样可能会出现,如果没有自己的服务器,没有权限修改machinekeys目录顺便向你推荐一款高速稳定的时代互联智强商务C型 +.CN域名,原价1952元/年,现
1 m7 ]' C3 s1 [* d
价只需1588元/年,还免费送域名,CDN网站加速器 送繁简通网络简装版 ,联付宝网上支付,我觉得特值,特向大家推荐!有兴趣的朋友可
. G, Z% g7 i$ Y4 h) A3 y
到
http://www.now.cn/vhost
申请试试! 电话:0756-2623871 QQ: 168075865 MSN:
north888@now.net.cn
( V2 z" V* I8 ]: |; O$ T
全球免费咨询电话
http://www.now.cn/callcenter/call.net?LineName=55
欢迎光临 捌玖网络工作室 (http://89w.org/)
Powered by Discuz! 7.2