标题:
asp.net2.0如何加密数据库联接字符串
[打印本页]
作者:
lilcy88
时间:
2008-5-28 10:41
标题:
asp.net2.0如何加密数据库联接字符串
asp.net2.0如何加密数据库联接字符串
1 X) f: B, N! B' C# ]3 k7 n9 p: _% _
在asp.net2.0中,发布网站时,加密web.config,这样可以有效保证数据库用户和密码安全,其步骤如下:
( X4 f- ?3 r6 A* N
1.添加密钥
! \+ A" }6 T. y. t
执行:c:\windows\microsoft.net\framework\v2.0.50727\aspnet_regiis -pc "hnlaw" -exp
0 v+ [. C- T9 [3 P9 D
其中"hnlaw"为密钥名称
" K4 T6 Q3 j/ _2 D' j
2.添加web.config节点
9 C. `+ C9 ?; l( V8 K! h& d/ r8 L
在web.config的<configuration></configuration>之间添加:
2 f. O& p2 Y, `/ D/ e
<configprotecteddata>
$ m, G9 @' f" q. U2 b* r9 G2 _
<providers>
( U+ N5 m$ I# B0 _) t! v1 L
<add keycontainername="hnlaw" usemachinecontainer="true" description="uses rsacryptoserviceprovider to encrypt and
6 X* F; \8 Q4 {( |9 m1 e$ h
decrypt" name="hnlaw" type="system.configuration.rsaprotectedconfigurationprovider,system.configuration, version=2.0.0.0,
/ @; C* T6 G' o0 }
culture=neutral, publickeytoken=b03f5f7f11d50a3a" />
' `; P* }* F. m3 M4 N2 K
</providers>
5 s" v p4 B+ M/ ^ @% r
</configprotecteddata>
7 X/ w. p% j9 W, Z/ S" k
注意:这里keycontainername="hnlaw"和name="hnlaw"分别表示你的密钥名称;
/ T" X* c k& R1 a* `( Y; U
3.加密web.config
9 I( j0 P# i. X( w
到网站根目录添加一个批处理文件enweb.bat,内容如下:
% N# s$ p+ z: @1 H2 L; x5 d% h9 I* [
@echo off
% T& B' w8 E) D5 }4 Z3 M
c:\windows\microsoft.net\framework\v2.0.50727\aspnet_regiis -pef "system.web/identity" "e:\hs studio\donet2\hnlawyer" -prov
0 |# {, S" S% G! R
"hnlaw"
1 ~3 h$ a& y5 \, Y. a
c:\windows\microsoft.net\framework\v2.0.50727\aspnet_regiis -pef "connectionstrings" "e:\hs studio\donet2\hnlawyer" -prov
2 `9 o/ t- o4 b# _& Z% ~
"hnlaw"
# f& e. ?# A5 \1 |; ?. ~1 }
pause
4 t) H" A- L) P" \
注册上面的的路径和名称!
6 z- X+ B9 t T7 x4 @7 O
运行后出现成功!
) u i) x2 b; E) \" C
4.解密
. b7 T7 K" C8 e9 g G9 R3 R2 \
同样到网站根目录添加一个批处理文件deweb.bat,内容如下:
# w4 |$ O! S" E3 d, `' l
@echo off
5 A6 A1 w( ~! [) ~/ ]8 t
c:\windows\microsoft.net\framework\v2.0.50727\aspnet_regiis -pef "system.web/identity" "e:\hs studio\donet2\hnlawyer"
4 @& f0 L" {# }( u
c:\windows\microsoft.net\framework\v2.0.50727\aspnet_regiis -pdf "connectionstrings" "e:\hs studio\donet2\hnlawyer"
; w& l7 ~: V& |( D+ m) _
pause
% Y; W4 S$ z1 O& W1 |5 h; v- J+ Z
最后就是要注意:做完后找到c:\documents and settings\all users\application data\microsoft\crypto\rsa\machinekeys目录下,找到生成
1 e. I5 m3 G# W1 d( Q
的密钥文件(可按时间查找),给上network service可读取权限,不然会出现error message from the provider: the rsa key container could
1 {! s2 @: x$ Y
not be opened.无法读取
% ~' W( z0 P; n$ q+ @
) D! C3 m4 E! ~" s4 ~
这样可能会出现,如果没有自己的服务器,没有权限修改machinekeys目录顺便向你推荐一款高速稳定的时代互联智强商务C型 +.CN域名,原价1952元/年,现
( e$ f( S4 E/ Q/ h: W& u
价只需1588元/年,还免费送域名,CDN网站加速器 送繁简通网络简装版 ,联付宝网上支付,我觉得特值,特向大家推荐!有兴趣的朋友可
/ s6 F: g/ o# C7 l/ N
到
http://www.now.cn/vhost
申请试试! 电话:0756-2623871 QQ: 168075865 MSN:
north888@now.net.cn
0 f& ~9 m# t/ _8 v- i! k
全球免费咨询电话
http://www.now.cn/callcenter/call.net?LineName=55
欢迎光临 捌玖网络工作室 (http://89w.org/)
Powered by Discuz! 7.2