标题:
asp.net2.0如何加密数据库联接字符串
[打印本页]
作者:
lilcy88
时间:
2008-5-28 10:41
标题:
asp.net2.0如何加密数据库联接字符串
asp.net2.0如何加密数据库联接字符串
1 T% X7 `! b$ C$ ^, Z' d( ~
在asp.net2.0中,发布网站时,加密web.config,这样可以有效保证数据库用户和密码安全,其步骤如下:
/ G5 u, p, A6 x% X* F. a
1.添加密钥
! n' h( r0 C7 ~4 z2 {
执行:c:\windows\microsoft.net\framework\v2.0.50727\aspnet_regiis -pc "hnlaw" -exp
2 C9 t6 L2 k! I- j) {+ |
其中"hnlaw"为密钥名称
% p7 L$ F. e( J2 F5 _7 F! f
2.添加web.config节点
Y3 ?8 ~1 P/ X6 P6 l
在web.config的<configuration></configuration>之间添加:
1 Q) M( J% A; `# a) T( E6 G
<configprotecteddata>
. ~9 G; j @ {7 @$ a5 }6 I, A
<providers>
0 Y! p4 H& P5 L4 U
<add keycontainername="hnlaw" usemachinecontainer="true" description="uses rsacryptoserviceprovider to encrypt and
' S- o% L Y% x" i$ d$ D
decrypt" name="hnlaw" type="system.configuration.rsaprotectedconfigurationprovider,system.configuration, version=2.0.0.0,
" `, E+ H# T3 `0 |
culture=neutral, publickeytoken=b03f5f7f11d50a3a" />
% ^* K" [; X% X. G, H
</providers>
& G; G. `" |$ s8 J8 D# |" p
</configprotecteddata>
: q) n: z3 u/ m/ Z" }
注意:这里keycontainername="hnlaw"和name="hnlaw"分别表示你的密钥名称;
; {: E+ ?9 G8 B0 W3 @" k! k- a" P, T
3.加密web.config
) r7 a6 b) B. Y. J& N% [- ]
到网站根目录添加一个批处理文件enweb.bat,内容如下:
" y, {1 J& w2 G. q, _
@echo off
9 q4 i$ V8 P% C8 S% B7 h+ C3 {6 w
c:\windows\microsoft.net\framework\v2.0.50727\aspnet_regiis -pef "system.web/identity" "e:\hs studio\donet2\hnlawyer" -prov
: W9 F" i4 O$ K m8 ]
"hnlaw"
. c+ y6 @* X1 W: A: \8 S
c:\windows\microsoft.net\framework\v2.0.50727\aspnet_regiis -pef "connectionstrings" "e:\hs studio\donet2\hnlawyer" -prov
; n8 O) u5 p7 I$ q+ m' R/ t7 k* m7 t
"hnlaw"
: @& |% Z1 I, e }5 ~( Q9 c2 Z$ g. W
pause
+ k- S5 O+ y! O9 M
注册上面的的路径和名称!
6 u- N( b' X4 A) E) X" n7 N
运行后出现成功!
+ Z) x7 t6 D$ ?7 O
4.解密
x8 n. {; Q. x) Q4 j4 F% O* W
同样到网站根目录添加一个批处理文件deweb.bat,内容如下:
6 P: K4 u: n2 @
@echo off
) B0 q" \. N& ?8 q
c:\windows\microsoft.net\framework\v2.0.50727\aspnet_regiis -pef "system.web/identity" "e:\hs studio\donet2\hnlawyer"
7 p6 L8 S& z* ], j) R
c:\windows\microsoft.net\framework\v2.0.50727\aspnet_regiis -pdf "connectionstrings" "e:\hs studio\donet2\hnlawyer"
+ z/ K8 p/ F/ q0 a
pause
9 ]* } x$ N ]1 b" G) `% A& W
最后就是要注意:做完后找到c:\documents and settings\all users\application data\microsoft\crypto\rsa\machinekeys目录下,找到生成
& f/ Y9 |' {1 b- N. w' J: o; Z6 g
的密钥文件(可按时间查找),给上network service可读取权限,不然会出现error message from the provider: the rsa key container could
% @: \+ m* _; b* G H% o& h
not be opened.无法读取
u4 g' N1 S$ N6 k9 a, i2 I
& _! ?- @) ?% f# [* ]
这样可能会出现,如果没有自己的服务器,没有权限修改machinekeys目录顺便向你推荐一款高速稳定的时代互联智强商务C型 +.CN域名,原价1952元/年,现
1 K; @3 p% P3 t% P
价只需1588元/年,还免费送域名,CDN网站加速器 送繁简通网络简装版 ,联付宝网上支付,我觉得特值,特向大家推荐!有兴趣的朋友可
% A9 N( @7 |! u5 p* |$ n/ ]& ]( ~3 O
到
http://www.now.cn/vhost
申请试试! 电话:0756-2623871 QQ: 168075865 MSN:
north888@now.net.cn
6 m( R# u* P3 Z7 e9 |/ R! r- E
全球免费咨询电话
http://www.now.cn/callcenter/call.net?LineName=55
欢迎光临 捌玖网络工作室 (http://www.89w.org/)
Powered by Discuz! 7.2