标题:
asp.net2.0如何加密数据库联接字符串
[打印本页]
作者:
lilcy88
时间:
2008-5-28 10:41
标题:
asp.net2.0如何加密数据库联接字符串
asp.net2.0如何加密数据库联接字符串
9 B0 f. A: ^2 ~# _0 a0 r- i x7 {# V0 v: n
在asp.net2.0中,发布网站时,加密web.config,这样可以有效保证数据库用户和密码安全,其步骤如下:
a9 m! M6 S7 n8 _% v
1.添加密钥
0 D3 ?/ ?) ~& Y; o- u
执行:c:\windows\microsoft.net\framework\v2.0.50727\aspnet_regiis -pc "hnlaw" -exp
- q7 F# U7 }/ O' S; E. T- [
其中"hnlaw"为密钥名称
4 q% y2 H6 f1 e
2.添加web.config节点
6 W- T$ _( W" d |* `6 h, p3 p
在web.config的<configuration></configuration>之间添加:
- [. r! d R& n5 q
<configprotecteddata>
$ J: ~; A5 D# H4 ?4 Y' {
<providers>
8 `: m y7 m! H+ R: t, c1 W
<add keycontainername="hnlaw" usemachinecontainer="true" description="uses rsacryptoserviceprovider to encrypt and
3 b2 Q3 y, O" K/ `6 u' @, @
decrypt" name="hnlaw" type="system.configuration.rsaprotectedconfigurationprovider,system.configuration, version=2.0.0.0,
2 B! ^% g6 c( l
culture=neutral, publickeytoken=b03f5f7f11d50a3a" />
% b( [0 X* a" A( F _% [6 X
</providers>
6 d( V, Q2 h, f1 I2 Q( V/ `
</configprotecteddata>
) S9 q! i5 M1 g& }1 B) N
注意:这里keycontainername="hnlaw"和name="hnlaw"分别表示你的密钥名称;
2 Z+ q3 U! @) w9 k4 O( t
3.加密web.config
. D: Y* W, O) y; D* Z
到网站根目录添加一个批处理文件enweb.bat,内容如下:
, a% }" R0 g/ w! k; W3 u
@echo off
' i7 \. T+ v# r+ \* E9 \* B
c:\windows\microsoft.net\framework\v2.0.50727\aspnet_regiis -pef "system.web/identity" "e:\hs studio\donet2\hnlawyer" -prov
: o. d# T# R4 X5 b1 Y
"hnlaw"
! @7 p* L) ?/ |6 I3 ^: O
c:\windows\microsoft.net\framework\v2.0.50727\aspnet_regiis -pef "connectionstrings" "e:\hs studio\donet2\hnlawyer" -prov
9 I$ I5 D- [' p7 E; I" x$ |
"hnlaw"
7 u* H' _6 c4 ^( f6 P
pause
/ G& N" c7 P( H
注册上面的的路径和名称!
, T4 [0 \* N! Q6 i( g; Z
运行后出现成功!
; z3 l y# I7 e+ v
4.解密
- I2 x6 ]$ X7 a. J
同样到网站根目录添加一个批处理文件deweb.bat,内容如下:
* Y1 U6 y' f% L* `0 w
@echo off
& s! [6 M4 j/ L2 l; c
c:\windows\microsoft.net\framework\v2.0.50727\aspnet_regiis -pef "system.web/identity" "e:\hs studio\donet2\hnlawyer"
, w4 }0 G* v, @; W$ N% `6 q' K
c:\windows\microsoft.net\framework\v2.0.50727\aspnet_regiis -pdf "connectionstrings" "e:\hs studio\donet2\hnlawyer"
3 E9 ^$ T" l6 D& M9 B; ~& h. l
pause
/ }+ Z$ d+ b9 z
最后就是要注意:做完后找到c:\documents and settings\all users\application data\microsoft\crypto\rsa\machinekeys目录下,找到生成
) X# h) N* U- m; ?2 O }: r
的密钥文件(可按时间查找),给上network service可读取权限,不然会出现error message from the provider: the rsa key container could
, `3 F8 P# b; m5 I. k2 O( w
not be opened.无法读取
) [/ `% v5 \& o
8 H3 K" U" F- p. _0 [5 V
这样可能会出现,如果没有自己的服务器,没有权限修改machinekeys目录顺便向你推荐一款高速稳定的时代互联智强商务C型 +.CN域名,原价1952元/年,现
& B3 a8 P8 ]1 F/ }3 r' x) K: a- |
价只需1588元/年,还免费送域名,CDN网站加速器 送繁简通网络简装版 ,联付宝网上支付,我觉得特值,特向大家推荐!有兴趣的朋友可
! m& o+ K3 x* {' ~, R
到
http://www.now.cn/vhost
申请试试! 电话:0756-2623871 QQ: 168075865 MSN:
north888@now.net.cn
- \6 a) S5 ^% \4 @# a+ F' `
全球免费咨询电话
http://www.now.cn/callcenter/call.net?LineName=55
欢迎光临 捌玖网络工作室 (http://89w.org/)
Powered by Discuz! 7.2