标题:
asp.net2.0如何加密数据库联接字符串
[打印本页]
作者:
lilcy88
时间:
2008-5-28 10:41
标题:
asp.net2.0如何加密数据库联接字符串
asp.net2.0如何加密数据库联接字符串
+ U P l3 h" C: M- }; @- J2 @- s
在asp.net2.0中,发布网站时,加密web.config,这样可以有效保证数据库用户和密码安全,其步骤如下:
+ n$ h1 Z& E1 O- D* N8 Z8 P# L c7 U
1.添加密钥
& J* `' `: P" j2 k
执行:c:\windows\microsoft.net\framework\v2.0.50727\aspnet_regiis -pc "hnlaw" -exp
3 s7 V q3 o( a3 u' [% v
其中"hnlaw"为密钥名称
# ^0 L+ v9 t1 R! J! y
2.添加web.config节点
. C2 D, p& N* `+ t6 X. R- `
在web.config的<configuration></configuration>之间添加:
8 J; r. V' u1 Q' y
<configprotecteddata>
2 F2 k, j+ E7 G7 `) k+ d' C
<providers>
* `& w7 G* X4 E6 V" M% [! A: i
<add keycontainername="hnlaw" usemachinecontainer="true" description="uses rsacryptoserviceprovider to encrypt and
. y$ X- x0 W$ I
decrypt" name="hnlaw" type="system.configuration.rsaprotectedconfigurationprovider,system.configuration, version=2.0.0.0,
" c7 ]* q' S) S# m* r8 V- T( B5 A" @
culture=neutral, publickeytoken=b03f5f7f11d50a3a" />
5 E, g; Z- A: s# h- [, X
</providers>
7 t [; }3 t: N' p
</configprotecteddata>
2 ^1 _3 i- Y5 s2 ?/ e
注意:这里keycontainername="hnlaw"和name="hnlaw"分别表示你的密钥名称;
& f' K& S& _8 d! B- x2 R! m# O! ^
3.加密web.config
7 M6 V% @0 M* b3 _9 d# G3 `, T
到网站根目录添加一个批处理文件enweb.bat,内容如下:
; [! s5 h6 i$ U- {# j( w
@echo off
# B z8 T5 s2 J0 N
c:\windows\microsoft.net\framework\v2.0.50727\aspnet_regiis -pef "system.web/identity" "e:\hs studio\donet2\hnlawyer" -prov
* n; ]; r" p8 I+ M! O
"hnlaw"
/ T2 g# l5 Z9 y! b& k+ S
c:\windows\microsoft.net\framework\v2.0.50727\aspnet_regiis -pef "connectionstrings" "e:\hs studio\donet2\hnlawyer" -prov
- ~4 g( B$ {3 g# q6 m
"hnlaw"
& G5 x! a9 U. m8 B) Q
pause
! v/ A3 ]" B- I8 E
注册上面的的路径和名称!
" x0 E U9 S$ s8 \& @8 ]
运行后出现成功!
, f1 {9 f* N) E9 A
4.解密
$ F' ^' T1 X4 G! M: x- w& o
同样到网站根目录添加一个批处理文件deweb.bat,内容如下:
8 b8 P4 S8 @4 ?! J1 Q+ U/ o' T
@echo off
+ l/ B8 X" x a6 ]1 O9 O
c:\windows\microsoft.net\framework\v2.0.50727\aspnet_regiis -pef "system.web/identity" "e:\hs studio\donet2\hnlawyer"
8 n6 m! n6 B* O; ]- v; M! h: D0 r
c:\windows\microsoft.net\framework\v2.0.50727\aspnet_regiis -pdf "connectionstrings" "e:\hs studio\donet2\hnlawyer"
* _6 P s' S1 h/ T2 C
pause
2 T" h) Q# o4 O0 p
最后就是要注意:做完后找到c:\documents and settings\all users\application data\microsoft\crypto\rsa\machinekeys目录下,找到生成
3 E- J- ?$ F4 {) s Z7 x0 D
的密钥文件(可按时间查找),给上network service可读取权限,不然会出现error message from the provider: the rsa key container could
5 K! Q& l6 Q' B; T
not be opened.无法读取
6 F% ?5 V( \& A" ]4 J" L
3 R. \4 R3 @9 B" T: M& r$ g* N! Y
这样可能会出现,如果没有自己的服务器,没有权限修改machinekeys目录顺便向你推荐一款高速稳定的时代互联智强商务C型 +.CN域名,原价1952元/年,现
1 W5 \( X, n/ x+ U
价只需1588元/年,还免费送域名,CDN网站加速器 送繁简通网络简装版 ,联付宝网上支付,我觉得特值,特向大家推荐!有兴趣的朋友可
/ M( ?" Z, }+ U( w& X3 L) t
到
http://www.now.cn/vhost
申请试试! 电话:0756-2623871 QQ: 168075865 MSN:
north888@now.net.cn
2 D1 Y9 ~. s+ }, K9 T- {- J: {
全球免费咨询电话
http://www.now.cn/callcenter/call.net?LineName=55
欢迎光临 捌玖网络工作室 (http://www.89w.org/)
Powered by Discuz! 7.2