标题:
asp.net2.0如何加密数据库联接字符串
[打印本页]
作者:
lilcy88
时间:
2008-5-28 10:41
标题:
asp.net2.0如何加密数据库联接字符串
asp.net2.0如何加密数据库联接字符串
( ~' ~$ ~* j( N4 g4 O, w) \! T* i
在asp.net2.0中,发布网站时,加密web.config,这样可以有效保证数据库用户和密码安全,其步骤如下:
$ M, e/ j4 _$ u
1.添加密钥
$ m! `" N( q$ {! U1 y
执行:c:\windows\microsoft.net\framework\v2.0.50727\aspnet_regiis -pc "hnlaw" -exp
1 h# G0 S; m5 M0 h
其中"hnlaw"为密钥名称
0 Q( g' [- `4 P. _% F, q
2.添加web.config节点
9 k+ y, ~$ ?, H2 x) x, Y
在web.config的<configuration></configuration>之间添加:
$ n# {& ]8 D/ `- I' B3 w
<configprotecteddata>
, `1 s7 d) z2 U: F) ]8 ~( K( U2 Z
<providers>
L* [3 U; Z( A& M( F1 ~
<add keycontainername="hnlaw" usemachinecontainer="true" description="uses rsacryptoserviceprovider to encrypt and
6 H* P9 U* A0 ?+ w4 }* ] v
decrypt" name="hnlaw" type="system.configuration.rsaprotectedconfigurationprovider,system.configuration, version=2.0.0.0,
/ r3 ^6 M, T# U4 d, v U$ ^$ n
culture=neutral, publickeytoken=b03f5f7f11d50a3a" />
9 Q M1 P2 B* N! r4 z. @- |
</providers>
+ J& e* x* |) z8 M; p& q
</configprotecteddata>
2 z2 [2 R% O, ]- q8 K
注意:这里keycontainername="hnlaw"和name="hnlaw"分别表示你的密钥名称;
3 p; W' Q9 ?' n9 V
3.加密web.config
' y8 g" u9 M: q' \+ [" Q
到网站根目录添加一个批处理文件enweb.bat,内容如下:
3 A5 I) f: t. ]6 M7 E6 o+ W8 R
@echo off
9 T1 T1 M+ s( P# H
c:\windows\microsoft.net\framework\v2.0.50727\aspnet_regiis -pef "system.web/identity" "e:\hs studio\donet2\hnlawyer" -prov
' J5 K; ]1 g7 n
"hnlaw"
+ v9 [/ R' |1 G" e# n1 k8 m1 F
c:\windows\microsoft.net\framework\v2.0.50727\aspnet_regiis -pef "connectionstrings" "e:\hs studio\donet2\hnlawyer" -prov
1 A, ~/ c8 @" ?; O
"hnlaw"
& Y; \ `1 N& N, K2 A7 `* g
pause
$ Z" u$ s: A t7 `5 D4 x
注册上面的的路径和名称!
) x3 ]3 x# J, D: ?( M3 v
运行后出现成功!
0 _. x6 v# p" b, ^& d
4.解密
2 Z& Q5 w7 f: E% ]1 Z% v
同样到网站根目录添加一个批处理文件deweb.bat,内容如下:
' i M# J. l% b8 p# t
@echo off
, J1 g! w9 W! \% L
c:\windows\microsoft.net\framework\v2.0.50727\aspnet_regiis -pef "system.web/identity" "e:\hs studio\donet2\hnlawyer"
/ @0 D# _+ G& B" `0 Y$ l
c:\windows\microsoft.net\framework\v2.0.50727\aspnet_regiis -pdf "connectionstrings" "e:\hs studio\donet2\hnlawyer"
% _% k& Q1 b( O. `7 Q0 U
pause
6 H, c# O- C! j7 V5 G+ `. P- c- A
最后就是要注意:做完后找到c:\documents and settings\all users\application data\microsoft\crypto\rsa\machinekeys目录下,找到生成
# h$ v0 H/ m8 C) h
的密钥文件(可按时间查找),给上network service可读取权限,不然会出现error message from the provider: the rsa key container could
; N$ Q& n# c) H2 S. l- \
not be opened.无法读取
# b0 J# c3 b }7 B4 O
& u( u6 b9 ?& o$ b: ]; V9 }
这样可能会出现,如果没有自己的服务器,没有权限修改machinekeys目录顺便向你推荐一款高速稳定的时代互联智强商务C型 +.CN域名,原价1952元/年,现
( u5 I# P. v' J) h, _6 ~
价只需1588元/年,还免费送域名,CDN网站加速器 送繁简通网络简装版 ,联付宝网上支付,我觉得特值,特向大家推荐!有兴趣的朋友可
5 K+ j/ K) r; @: @# v0 @1 h7 V
到
http://www.now.cn/vhost
申请试试! 电话:0756-2623871 QQ: 168075865 MSN:
north888@now.net.cn
$ L1 a' m/ e2 F9 n! J5 Q
全球免费咨询电话
http://www.now.cn/callcenter/call.net?LineName=55
欢迎光临 捌玖网络工作室 (http://www.89w.org/)
Powered by Discuz! 7.2