标题:
asp.net2.0如何加密数据库联接字符串
[打印本页]
作者:
lilcy88
时间:
2008-5-28 10:41
标题:
asp.net2.0如何加密数据库联接字符串
asp.net2.0如何加密数据库联接字符串
2 e$ a6 k7 B* s J0 `- b: J
在asp.net2.0中,发布网站时,加密web.config,这样可以有效保证数据库用户和密码安全,其步骤如下:
' Q1 G4 g5 J, K7 t
1.添加密钥
/ b( @" e4 D' _% z; r; _4 o4 S
执行:c:\windows\microsoft.net\framework\v2.0.50727\aspnet_regiis -pc "hnlaw" -exp
7 ?% d3 ]! V( w7 `
其中"hnlaw"为密钥名称
, H$ k2 A8 q: u* F
2.添加web.config节点
, \" ~7 m; |" |. d
在web.config的<configuration></configuration>之间添加:
1 u" A* H$ Q, }' [ S1 S# T
<configprotecteddata>
/ \, Z( ^: T/ i( X. ?, G6 ?
<providers>
5 Z8 B Q# [$ y) k- U1 D: h% f
<add keycontainername="hnlaw" usemachinecontainer="true" description="uses rsacryptoserviceprovider to encrypt and
6 [' G7 C- u" {/ N
decrypt" name="hnlaw" type="system.configuration.rsaprotectedconfigurationprovider,system.configuration, version=2.0.0.0,
0 m: v$ N) L/ W# w g3 q
culture=neutral, publickeytoken=b03f5f7f11d50a3a" />
( B3 O; A8 [2 `! y
</providers>
2 w% U! n- H% [0 G
</configprotecteddata>
0 q4 y( t0 m% o% y
注意:这里keycontainername="hnlaw"和name="hnlaw"分别表示你的密钥名称;
' y6 p i: j5 ?* @ F1 q; w
3.加密web.config
& h' Q9 g% E6 ]: F
到网站根目录添加一个批处理文件enweb.bat,内容如下:
; @( A$ b7 c- E& X
@echo off
9 x$ ~# h; E& E S7 ~# v. a
c:\windows\microsoft.net\framework\v2.0.50727\aspnet_regiis -pef "system.web/identity" "e:\hs studio\donet2\hnlawyer" -prov
0 U2 T5 Y1 z8 Z- H
"hnlaw"
" u2 u8 T. ?. f1 p4 T2 d
c:\windows\microsoft.net\framework\v2.0.50727\aspnet_regiis -pef "connectionstrings" "e:\hs studio\donet2\hnlawyer" -prov
: N1 v1 w1 a9 M) \2 R
"hnlaw"
# q! [/ |" ~* D, Z
pause
- Q8 f' F* S% @# g; t( o' J6 @+ r5 l
注册上面的的路径和名称!
b' C; c& o2 ]: w8 t/ h# l u
运行后出现成功!
6 `2 N: _- t4 G, l: e3 j3 b" Z
4.解密
4 E! g2 \. o, B; @; a2 ?, M
同样到网站根目录添加一个批处理文件deweb.bat,内容如下:
; q3 Y- Z. ~; s& `
@echo off
9 U' w, Y7 \5 S8 Y' x8 d& R) S
c:\windows\microsoft.net\framework\v2.0.50727\aspnet_regiis -pef "system.web/identity" "e:\hs studio\donet2\hnlawyer"
( K+ [: E, J: L# E5 H1 _4 f# D
c:\windows\microsoft.net\framework\v2.0.50727\aspnet_regiis -pdf "connectionstrings" "e:\hs studio\donet2\hnlawyer"
4 I- I, s. t6 J, z
pause
# g7 }! Y& X" A9 q8 v6 R
最后就是要注意:做完后找到c:\documents and settings\all users\application data\microsoft\crypto\rsa\machinekeys目录下,找到生成
4 f; d0 k2 G/ U
的密钥文件(可按时间查找),给上network service可读取权限,不然会出现error message from the provider: the rsa key container could
* W: k7 H* C0 ]/ _2 k; i9 M0 K- r
not be opened.无法读取
3 d- Q/ B1 t' U: z) z3 P6 G
/ i) X6 l" b4 a" W9 j# S
这样可能会出现,如果没有自己的服务器,没有权限修改machinekeys目录顺便向你推荐一款高速稳定的时代互联智强商务C型 +.CN域名,原价1952元/年,现
/ U( |( i' T3 ~( h6 @5 v/ C# O
价只需1588元/年,还免费送域名,CDN网站加速器 送繁简通网络简装版 ,联付宝网上支付,我觉得特值,特向大家推荐!有兴趣的朋友可
9 Q5 l& q, G% ^: @" y3 |1 ]
到
http://www.now.cn/vhost
申请试试! 电话:0756-2623871 QQ: 168075865 MSN:
north888@now.net.cn
" t+ j1 x) [* N
全球免费咨询电话
http://www.now.cn/callcenter/call.net?LineName=55
欢迎光临 捌玖网络工作室 (http://www.89w.org/)
Powered by Discuz! 7.2