标题:
asp.net2.0如何加密数据库联接字符串
[打印本页]
作者:
lilcy88
时间:
2008-5-28 10:41
标题:
asp.net2.0如何加密数据库联接字符串
asp.net2.0如何加密数据库联接字符串
+ t$ a- v0 ?6 J! n c
在asp.net2.0中,发布网站时,加密web.config,这样可以有效保证数据库用户和密码安全,其步骤如下:
6 C6 d8 [( ?0 `9 c; J4 O
1.添加密钥
( `+ v- e# E+ r7 ], k: L3 d: v; L
执行:c:\windows\microsoft.net\framework\v2.0.50727\aspnet_regiis -pc "hnlaw" -exp
: u: @' B) U: t5 _
其中"hnlaw"为密钥名称
2 T8 s, B6 i3 }5 x, h/ G& `
2.添加web.config节点
# S3 ]: T5 |3 Q$ a9 b* E) b* |
在web.config的<configuration></configuration>之间添加:
! X7 t: I& ?1 }2 B( ?
<configprotecteddata>
: I8 F D3 Y3 C* }7 H- l4 _
<providers>
2 R( K8 _8 t8 y n/ c1 p
<add keycontainername="hnlaw" usemachinecontainer="true" description="uses rsacryptoserviceprovider to encrypt and
: X5 ~7 b/ ]9 O- {
decrypt" name="hnlaw" type="system.configuration.rsaprotectedconfigurationprovider,system.configuration, version=2.0.0.0,
v: Z+ A. p. m/ y% V5 e0 D, r
culture=neutral, publickeytoken=b03f5f7f11d50a3a" />
?* A* K7 `2 H8 Q
</providers>
2 ~& k" c4 A+ y7 N9 n7 @4 @& Q
</configprotecteddata>
3 x d# q6 a* J+ m: v% Y
注意:这里keycontainername="hnlaw"和name="hnlaw"分别表示你的密钥名称;
m0 q1 j" B/ P4 X
3.加密web.config
* {) t% L9 ]) c: Z
到网站根目录添加一个批处理文件enweb.bat,内容如下:
6 ~4 q9 f+ c# y! v
@echo off
- \1 c! m! q) O; S+ g, }
c:\windows\microsoft.net\framework\v2.0.50727\aspnet_regiis -pef "system.web/identity" "e:\hs studio\donet2\hnlawyer" -prov
2 u [) Z: a3 E$ ?7 t- i8 E9 ^+ D
"hnlaw"
' a' K6 [* y$ S8 ?* `# \( N2 h
c:\windows\microsoft.net\framework\v2.0.50727\aspnet_regiis -pef "connectionstrings" "e:\hs studio\donet2\hnlawyer" -prov
( d$ k5 D4 r8 p7 j% c, x0 S
"hnlaw"
: Y( \0 [( G7 c+ V: j( D/ r6 B7 Y2 _
pause
/ ?9 E2 \) W- D6 C7 Z, R
注册上面的的路径和名称!
5 a5 v! A4 O) T) K
运行后出现成功!
$ c9 v% W0 T4 [: y
4.解密
# w5 n$ k% s) Y3 p* W
同样到网站根目录添加一个批处理文件deweb.bat,内容如下:
1 U7 M# Z' ]1 k; F, {& v
@echo off
1 ~* Y: h8 c$ R, \
c:\windows\microsoft.net\framework\v2.0.50727\aspnet_regiis -pef "system.web/identity" "e:\hs studio\donet2\hnlawyer"
8 A3 E K' {# ?8 M3 ~* e
c:\windows\microsoft.net\framework\v2.0.50727\aspnet_regiis -pdf "connectionstrings" "e:\hs studio\donet2\hnlawyer"
, |9 u$ }0 d! M3 ?- K' B `
pause
" C7 Y2 R, s8 @3 J1 j, t
最后就是要注意:做完后找到c:\documents and settings\all users\application data\microsoft\crypto\rsa\machinekeys目录下,找到生成
* S4 g0 W2 y; i9 v6 W0 N
的密钥文件(可按时间查找),给上network service可读取权限,不然会出现error message from the provider: the rsa key container could
: w1 e( x5 a2 s+ L" o
not be opened.无法读取
" G h& ^+ @! F w9 J0 L6 B5 ]# C
# f7 U8 a' I* Y" L
这样可能会出现,如果没有自己的服务器,没有权限修改machinekeys目录顺便向你推荐一款高速稳定的时代互联智强商务C型 +.CN域名,原价1952元/年,现
$ S/ j: C; B6 p
价只需1588元/年,还免费送域名,CDN网站加速器 送繁简通网络简装版 ,联付宝网上支付,我觉得特值,特向大家推荐!有兴趣的朋友可
0 Q' o6 w; q N- W* W5 [
到
http://www.now.cn/vhost
申请试试! 电话:0756-2623871 QQ: 168075865 MSN:
north888@now.net.cn
& P" j3 m) m7 v* K1 ?: W. v; Y
全球免费咨询电话
http://www.now.cn/callcenter/call.net?LineName=55
欢迎光临 捌玖网络工作室 (http://89w.org/)
Powered by Discuz! 7.2