Board logo

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

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

asp.net2.0如何加密数据库联接字符串
  T* ~7 O; Z( e$ E3 E( E在asp.net2.0中,发布网站时,加密web.config,这样可以有效保证数据库用户和密码安全,其步骤如下:
1 Y+ I$ t/ h' a" l' I: P1.添加密钥5 |1 L4 f$ H2 m: Z. K5 C
执行:c:\windows\microsoft.net\framework\v2.0.50727\aspnet_regiis -pc "hnlaw" -exp
- U; Y2 s5 U! ?+ K其中"hnlaw"为密钥名称
! h& _+ F- G+ y  x9 R" ^+ @2.添加web.config节点
5 }! ?% _2 B! C$ u. i2 n, L3 L在web.config的<configuration></configuration>之间添加:8 c3 O  m- u5 p2 z
<configprotecteddata>& A. D1 g4 u% a& B- F/ B( C* `% b
  <providers>2 P5 e3 r$ v0 F# t6 l
   <add keycontainername="hnlaw" usemachinecontainer="true" description="uses rsacryptoserviceprovider to encrypt and
6 v, t3 G' ]# Z$ Zdecrypt" name="hnlaw" type="system.configuration.rsaprotectedconfigurationprovider,system.configuration, version=2.0.0.0, $ \, X! K) `  e! w+ P  K
culture=neutral, publickeytoken=b03f5f7f11d50a3a" />) i1 n* S  ?3 s/ ?
  </providers>
' S) ^( z5 F* l8 G</configprotecteddata>9 `7 ?% q, s/ V
注意:这里keycontainername="hnlaw"和name="hnlaw"分别表示你的密钥名称;
% ?7 K5 q  K6 v5 b/ J: g- H3.加密web.config
& K7 b- z8 X+ t3 m# a% ], D8 k到网站根目录添加一个批处理文件enweb.bat,内容如下:
  T8 x1 l2 e3 Q9 Z@echo off+ j% f/ I9 l/ J
c:\windows\microsoft.net\framework\v2.0.50727\aspnet_regiis -pef "system.web/identity" "e:\hs  studio\donet2\hnlawyer" -prov
; m0 \& X6 {  M3 K"hnlaw"
2 W0 B  G7 b4 q  p" E. T  c:\windows\microsoft.net\framework\v2.0.50727\aspnet_regiis -pef "connectionstrings" "e:\hs  studio\donet2\hnlawyer" -prov ! L, H& l) A! B" ?4 q) `
"hnlaw"3 s" o- V1 c, g+ o" d+ w# V4 k
pause
; v$ e, X/ V1 Z; O3 x+ F8 x5 N注册上面的的路径和名称!
7 ]; e/ T( l/ }1 ?0 X- C运行后出现成功!
" N: @4 Y2 V% r4.解密0 b! h4 e2 [; `) ~' R: P% z$ {7 G
同样到网站根目录添加一个批处理文件deweb.bat,内容如下:
9 n. y1 r/ y* w* V  R% F5 ^@echo off; z6 P! ?% V8 j; m6 ^
c:\windows\microsoft.net\framework\v2.0.50727\aspnet_regiis -pef "system.web/identity" "e:\hs  studio\donet2\hnlawyer"
- S* @+ h" A3 a* sc:\windows\microsoft.net\framework\v2.0.50727\aspnet_regiis -pdf "connectionstrings" "e:\hs  studio\donet2\hnlawyer"
1 p3 r0 p' r8 r: ?& mpause- y6 H* \+ ?+ h
最后就是要注意:做完后找到c:\documents and settings\all users\application data\microsoft\crypto\rsa\machinekeys目录下,找到生成
  d# C- H9 E0 |的密钥文件(可按时间查找),给上network service可读取权限,不然会出现error message from the provider: the rsa key container could % o' e- T4 @0 E- a: V! F- j3 w
not be opened.无法读取' L. n& U1 v4 ]" X7 s) h8 D9 b4 k
$ _0 B9 ~. l( p0 U; H
这样可能会出现,如果没有自己的服务器,没有权限修改machinekeys目录顺便向你推荐一款高速稳定的时代互联智强商务C型 +.CN域名,原价1952元/年,现* W9 v4 d& w! \; T( N% X; Z. g. L) \
价只需1588元/年,还免费送域名,CDN网站加速器 送繁简通网络简装版 ,联付宝网上支付,我觉得特值,特向大家推荐!有兴趣的朋友可
6 m1 |( j' Y- thttp://www.now.cn/vhost申请试试!     电话:0756-2623871   QQ: 168075865   MSN:north888@now.net.cn/ X# ]+ K, P: C( D% j
全球免费咨询电话 http://www.now.cn/callcenter/call.net?LineName=55




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