标题:
asp.net2.0如何加密数据库联接字符串
[打印本页]
作者:
lilcy88
时间:
2008-5-28 10:41
标题:
asp.net2.0如何加密数据库联接字符串
asp.net2.0如何加密数据库联接字符串
: z: L' [1 c0 ^) J
在asp.net2.0中,发布网站时,加密web.config,这样可以有效保证数据库用户和密码安全,其步骤如下:
- C6 e* f6 w1 S# g+ A1 h# Z. v4 t C
1.添加密钥
: T* u$ N! H2 R# B
执行:c:\windows\microsoft.net\framework\v2.0.50727\aspnet_regiis -pc "hnlaw" -exp
% V2 |" Z; I0 C7 X8 z
其中"hnlaw"为密钥名称
3 ], _% E: S( Q& C- G# p* O# d
2.添加web.config节点
) j: `% v# j& S3 P) Y& c" @
在web.config的<configuration></configuration>之间添加:
2 o! m/ Q4 o% z2 w, Q* t
<configprotecteddata>
" k) g4 k* i' i3 G( u
<providers>
. t* E, a! F) p( F6 _' F
<add keycontainername="hnlaw" usemachinecontainer="true" description="uses rsacryptoserviceprovider to encrypt and
) g$ Y! ]2 X$ K
decrypt" name="hnlaw" type="system.configuration.rsaprotectedconfigurationprovider,system.configuration, version=2.0.0.0,
0 I9 e# w) W, a& T- F- D) `0 U# A
culture=neutral, publickeytoken=b03f5f7f11d50a3a" />
+ k+ h# k5 \4 w- k% O4 B' I
</providers>
8 ]* T0 `1 p& } ?( X
</configprotecteddata>
8 p$ n+ S9 g9 }8 p+ U
注意:这里keycontainername="hnlaw"和name="hnlaw"分别表示你的密钥名称;
. f3 q0 q$ |2 d% B
3.加密web.config
" o. |6 v; x5 L5 i& |0 ?6 {, X
到网站根目录添加一个批处理文件enweb.bat,内容如下:
/ L" b7 x1 p& f, Q% X# p v
@echo off
/ J( ^+ `) X( _
c:\windows\microsoft.net\framework\v2.0.50727\aspnet_regiis -pef "system.web/identity" "e:\hs studio\donet2\hnlawyer" -prov
) \) s! L' j/ Q+ s" i" F5 m6 q& m
"hnlaw"
; ]4 u+ b. q& b* @9 J# ]+ [
c:\windows\microsoft.net\framework\v2.0.50727\aspnet_regiis -pef "connectionstrings" "e:\hs studio\donet2\hnlawyer" -prov
! V- A' S/ j6 y5 ^ @/ g% P8 s
"hnlaw"
" |6 S, |; D: j; u& ?) h0 I4 K
pause
/ P; Z1 ~4 s/ d& {$ M) B
注册上面的的路径和名称!
$ S% W9 l9 v( g ]' p0 h( B
运行后出现成功!
1 D) m9 \) G+ w/ I/ {
4.解密
/ s6 i+ x( \: E# i. V: J; ?
同样到网站根目录添加一个批处理文件deweb.bat,内容如下:
) d% Z7 o* |" S* T+ r
@echo off
. |5 l7 L9 h6 v9 [) K/ B
c:\windows\microsoft.net\framework\v2.0.50727\aspnet_regiis -pef "system.web/identity" "e:\hs studio\donet2\hnlawyer"
5 }9 B/ U6 o/ A/ C6 L' H
c:\windows\microsoft.net\framework\v2.0.50727\aspnet_regiis -pdf "connectionstrings" "e:\hs studio\donet2\hnlawyer"
+ b1 R0 @+ {8 V2 K4 c8 v4 t/ G- M, U
pause
6 v5 `9 q* g/ X+ E8 w# b
最后就是要注意:做完后找到c:\documents and settings\all users\application data\microsoft\crypto\rsa\machinekeys目录下,找到生成
4 x2 [4 ^$ ^! x1 j2 ?+ H- N
的密钥文件(可按时间查找),给上network service可读取权限,不然会出现error message from the provider: the rsa key container could
2 f& L6 t- a% m4 z! Y
not be opened.无法读取
! G0 |5 \$ {0 W6 V) [
5 c5 Q5 j. P) ?4 l% e5 {' Y; L
这样可能会出现,如果没有自己的服务器,没有权限修改machinekeys目录顺便向你推荐一款高速稳定的时代互联智强商务C型 +.CN域名,原价1952元/年,现
6 E' c* }. B0 d* v
价只需1588元/年,还免费送域名,CDN网站加速器 送繁简通网络简装版 ,联付宝网上支付,我觉得特值,特向大家推荐!有兴趣的朋友可
+ ]7 ~6 @4 F# d8 B
到
http://www.now.cn/vhost
申请试试! 电话:0756-2623871 QQ: 168075865 MSN:
north888@now.net.cn
# F/ U( D1 a5 ]" E
全球免费咨询电话
http://www.now.cn/callcenter/call.net?LineName=55
欢迎光临 捌玖网络工作室 (http://www.89w.org/)
Powered by Discuz! 7.2