Board logo

标题: 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  C1.添加密钥
: 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 Kpause
/ 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' Hc:\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
pause6 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! Ynot 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 Bhttp://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