Board logo

标题: asp.net2.0如何加密数据库联接字符串 [打印本页]

作者: lilcy88    时间: 2008-5-28 10:41     标题: asp.net2.0如何加密数据库联接字符串

asp.net2.0如何加密数据库联接字符串1 X) f: B, N! B' C# ]3 k7 n9 p: _% _
在asp.net2.0中,发布网站时,加密web.config,这样可以有效保证数据库用户和密码安全,其步骤如下:( X4 f- ?3 r6 A* N
1.添加密钥! \+ A" }6 T. y. t
执行:c:\windows\microsoft.net\framework\v2.0.50727\aspnet_regiis -pc "hnlaw" -exp
0 v+ [. C- T9 [3 P9 D其中"hnlaw"为密钥名称" K4 T6 Q3 j/ _2 D' j
2.添加web.config节点9 C. `+ C9 ?; l( V8 K! h& d/ r8 L
在web.config的<configuration></configuration>之间添加:
2 f. O& p2 Y, `/ D/ e<configprotecteddata>$ m, G9 @' f" q. U2 b* r9 G2 _
  <providers>( U+ N5 m$ I# B0 _) t! v1 L
   <add keycontainername="hnlaw" usemachinecontainer="true" description="uses rsacryptoserviceprovider to encrypt and
6 X* F; \8 Q4 {( |9 m1 e$ hdecrypt" name="hnlaw" type="system.configuration.rsaprotectedconfigurationprovider,system.configuration, version=2.0.0.0, / @; C* T6 G' o0 }
culture=neutral, publickeytoken=b03f5f7f11d50a3a" />' `; P* }* F. m3 M4 N2 K
  </providers>
5 s" v  p4 B+ M/ ^  @% r</configprotecteddata>7 X/ w. p% j9 W, Z/ S" k
注意:这里keycontainername="hnlaw"和name="hnlaw"分别表示你的密钥名称;/ T" X* c  k& R1 a* `( Y; U
3.加密web.config
9 I( j0 P# i. X( w到网站根目录添加一个批处理文件enweb.bat,内容如下:
% N# s$ p+ z: @1 H2 L; x5 d% h9 I* [@echo off
% T& B' w8 E) D5 }4 Z3 Mc:\windows\microsoft.net\framework\v2.0.50727\aspnet_regiis -pef "system.web/identity" "e:\hs  studio\donet2\hnlawyer" -prov 0 |# {, S" S% G! R
"hnlaw"1 ~3 h$ a& y5 \, Y. a
  c:\windows\microsoft.net\framework\v2.0.50727\aspnet_regiis -pef "connectionstrings" "e:\hs  studio\donet2\hnlawyer" -prov 2 `9 o/ t- o4 b# _& Z% ~
"hnlaw"
# f& e. ?# A5 \1 |; ?. ~1 }pause4 t) H" A- L) P" \
注册上面的的路径和名称!
6 z- X+ B9 t  T7 x4 @7 O运行后出现成功!
) u  i) x2 b; E) \" C4.解密
. b7 T7 K" C8 e9 g  G9 R3 R2 \同样到网站根目录添加一个批处理文件deweb.bat,内容如下:
# w4 |$ O! S" E3 d, `' l@echo off5 A6 A1 w( ~! [) ~/ ]8 t
c:\windows\microsoft.net\framework\v2.0.50727\aspnet_regiis -pef "system.web/identity" "e:\hs  studio\donet2\hnlawyer"4 @& f0 L" {# }( u
c:\windows\microsoft.net\framework\v2.0.50727\aspnet_regiis -pdf "connectionstrings" "e:\hs  studio\donet2\hnlawyer"; w& l7 ~: V& |( D+ m) _
pause% Y; W4 S$ z1 O& W1 |5 h; v- J+ Z
最后就是要注意:做完后找到c:\documents and settings\all users\application data\microsoft\crypto\rsa\machinekeys目录下,找到生成
1 e. I5 m3 G# W1 d( Q的密钥文件(可按时间查找),给上network service可读取权限,不然会出现error message from the provider: the rsa key container could 1 {! s2 @: x$ Y
not be opened.无法读取
% ~' W( z0 P; n$ q+ @) D! C3 m4 E! ~" s4 ~
这样可能会出现,如果没有自己的服务器,没有权限修改machinekeys目录顺便向你推荐一款高速稳定的时代互联智强商务C型 +.CN域名,原价1952元/年,现
( e$ f( S4 E/ Q/ h: W& u价只需1588元/年,还免费送域名,CDN网站加速器 送繁简通网络简装版 ,联付宝网上支付,我觉得特值,特向大家推荐!有兴趣的朋友可
/ s6 F: g/ o# C7 l/ Nhttp://www.now.cn/vhost申请试试!     电话:0756-2623871   QQ: 168075865   MSN:north888@now.net.cn0 f& ~9 m# t/ _8 v- i! k
全球免费咨询电话 http://www.now.cn/callcenter/call.net?LineName=55




欢迎光临 捌玖网络工作室 (http://89w.org/) Powered by Discuz! 7.2