Board logo

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

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

asp.net2.0如何加密数据库联接字符串+ t$ a- v0 ?6 J! n  c
在asp.net2.0中,发布网站时,加密web.config,这样可以有效保证数据库用户和密码安全,其步骤如下:
6 C6 d8 [( ?0 `9 c; J4 O1.添加密钥( `+ v- e# E+ r7 ], k: L3 d: v; L
执行:c:\windows\microsoft.net\framework\v2.0.50727\aspnet_regiis -pc "hnlaw" -exp: u: @' B) U: t5 _
其中"hnlaw"为密钥名称2 T8 s, B6 i3 }5 x, h/ G& `
2.添加web.config节点# S3 ]: T5 |3 Q$ a9 b* E) b* |
在web.config的<configuration></configuration>之间添加:
! X7 t: I& ?1 }2 B( ?<configprotecteddata>: I8 F  D3 Y3 C* }7 H- l4 _
  <providers>
2 R( K8 _8 t8 y  n/ c1 p   <add keycontainername="hnlaw" usemachinecontainer="true" description="uses rsacryptoserviceprovider to encrypt and
: X5 ~7 b/ ]9 O- {decrypt" name="hnlaw" type="system.configuration.rsaprotectedconfigurationprovider,system.configuration, version=2.0.0.0,   v: Z+ A. p. m/ y% V5 e0 D, r
culture=neutral, publickeytoken=b03f5f7f11d50a3a" />
  ?* A* K7 `2 H8 Q  </providers>
2 ~& k" c4 A+ y7 N9 n7 @4 @& Q</configprotecteddata>3 x  d# q6 a* J+ m: v% Y
注意:这里keycontainername="hnlaw"和name="hnlaw"分别表示你的密钥名称;
  m0 q1 j" B/ P4 X3.加密web.config
* {) t% L9 ]) c: Z到网站根目录添加一个批处理文件enweb.bat,内容如下:
6 ~4 q9 f+ c# y! v@echo off- \1 c! m! q) O; S+ g, }
c:\windows\microsoft.net\framework\v2.0.50727\aspnet_regiis -pef "system.web/identity" "e:\hs  studio\donet2\hnlawyer" -prov 2 u  [) Z: a3 E$ ?7 t- i8 E9 ^+ D
"hnlaw"
' a' K6 [* y$ S8 ?* `# \( N2 h  c:\windows\microsoft.net\framework\v2.0.50727\aspnet_regiis -pef "connectionstrings" "e:\hs  studio\donet2\hnlawyer" -prov ( d$ k5 D4 r8 p7 j% c, x0 S
"hnlaw"
: Y( \0 [( G7 c+ V: j( D/ r6 B7 Y2 _pause/ ?9 E2 \) W- D6 C7 Z, R
注册上面的的路径和名称!
5 a5 v! A4 O) T) K运行后出现成功!$ c9 v% W0 T4 [: y
4.解密# w5 n$ k% s) Y3 p* W
同样到网站根目录添加一个批处理文件deweb.bat,内容如下:1 U7 M# Z' ]1 k; F, {& v
@echo off1 ~* Y: h8 c$ R, \
c:\windows\microsoft.net\framework\v2.0.50727\aspnet_regiis -pef "system.web/identity" "e:\hs  studio\donet2\hnlawyer"8 A3 E  K' {# ?8 M3 ~* e
c:\windows\microsoft.net\framework\v2.0.50727\aspnet_regiis -pdf "connectionstrings" "e:\hs  studio\donet2\hnlawyer", |9 u$ }0 d! M3 ?- K' B  `
pause
" C7 Y2 R, s8 @3 J1 j, t最后就是要注意:做完后找到c:\documents and settings\all users\application data\microsoft\crypto\rsa\machinekeys目录下,找到生成
* S4 g0 W2 y; i9 v6 W0 N的密钥文件(可按时间查找),给上network service可读取权限,不然会出现error message from the provider: the rsa key container could
: w1 e( x5 a2 s+ L" onot be opened.无法读取" G  h& ^+ @! F  w9 J0 L6 B5 ]# C

# f7 U8 a' I* Y" L这样可能会出现,如果没有自己的服务器,没有权限修改machinekeys目录顺便向你推荐一款高速稳定的时代互联智强商务C型 +.CN域名,原价1952元/年,现$ S/ j: C; B6 p
价只需1588元/年,还免费送域名,CDN网站加速器 送繁简通网络简装版 ,联付宝网上支付,我觉得特值,特向大家推荐!有兴趣的朋友可
0 Q' o6 w; q  N- W* W5 [http://www.now.cn/vhost申请试试!     电话:0756-2623871   QQ: 168075865   MSN:north888@now.net.cn
& P" j3 m) m7 v* K1 ?: W. v; Y全球免费咨询电话 http://www.now.cn/callcenter/call.net?LineName=55




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