Board logo

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

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

asp.net2.0如何加密数据库联接字符串
% H+ b; r9 h1 R6 M& E在asp.net2.0中,发布网站时,加密web.config,这样可以有效保证数据库用户和密码安全,其步骤如下:
7 E  J! Q) ?0 J1.添加密钥- L! I% d! k' e- M8 m* r# c
执行:c:\windows\microsoft.net\framework\v2.0.50727\aspnet_regiis -pc "hnlaw" -exp9 j5 z7 N( m8 S$ ]7 Z2 d9 O/ b9 i
其中"hnlaw"为密钥名称
3 E9 N, K  O2 J$ f: t8 F" H2.添加web.config节点
3 c. I, j7 V- i4 r1 m) D在web.config的<configuration></configuration>之间添加:
3 S. q' C" W- s<configprotecteddata>+ X- Z1 T9 }; c7 g; o8 b
  <providers>
" P2 i6 X3 W7 G" V2 J6 }   <add keycontainername="hnlaw" usemachinecontainer="true" description="uses rsacryptoserviceprovider to encrypt and " Y6 t7 ?5 u+ l  K( j6 d( ~8 M# K. q
decrypt" name="hnlaw" type="system.configuration.rsaprotectedconfigurationprovider,system.configuration, version=2.0.0.0, 9 l$ W: X6 `7 o5 f! N
culture=neutral, publickeytoken=b03f5f7f11d50a3a" />& E# \  r/ ]3 D
  </providers>
: |; n0 I$ u) j/ I</configprotecteddata>
: }$ n$ c: M! E7 M3 P& n注意:这里keycontainername="hnlaw"和name="hnlaw"分别表示你的密钥名称;
: R, v+ D: q& A) R! G$ E3.加密web.config
# G2 @6 |9 W9 `  J' M到网站根目录添加一个批处理文件enweb.bat,内容如下:( V* z. k# L0 s  c
@echo off
9 L7 q$ [# v& Y3 r& ^5 f5 C. |c:\windows\microsoft.net\framework\v2.0.50727\aspnet_regiis -pef "system.web/identity" "e:\hs  studio\donet2\hnlawyer" -prov 3 u" D/ Z& a) m+ p) C. ^6 M) w( G
"hnlaw"
# {4 R0 |* H$ f0 F$ l- c9 ^  c:\windows\microsoft.net\framework\v2.0.50727\aspnet_regiis -pef "connectionstrings" "e:\hs  studio\donet2\hnlawyer" -prov 1 l! b4 ?7 A: _
"hnlaw"! d6 O+ [/ ]" P$ v: U/ ?. s
pause! n) R* q& P4 x! C* t9 z
注册上面的的路径和名称!) K+ r; g0 S/ t
运行后出现成功!
! p# \1 l, w, P6 h4.解密2 ~$ {1 d# J+ K% B8 o
同样到网站根目录添加一个批处理文件deweb.bat,内容如下:& q' r8 T# ], Q+ @% _
@echo off
$ j% L7 I3 X# v; w  R- M" N3 Tc:\windows\microsoft.net\framework\v2.0.50727\aspnet_regiis -pef "system.web/identity" "e:\hs  studio\donet2\hnlawyer"
2 ]( Y7 b3 o. k: M9 F4 `" xc:\windows\microsoft.net\framework\v2.0.50727\aspnet_regiis -pdf "connectionstrings" "e:\hs  studio\donet2\hnlawyer"
0 D! r, F4 \+ Q- F# zpause8 J7 s% i: V6 a+ I
最后就是要注意:做完后找到c:\documents and settings\all users\application data\microsoft\crypto\rsa\machinekeys目录下,找到生成' ?* V- o0 ^  A5 `  J4 f
的密钥文件(可按时间查找),给上network service可读取权限,不然会出现error message from the provider: the rsa key container could
8 K: S" [4 N6 W. K8 Z+ h  U/ D- Cnot be opened.无法读取6 }% y8 Q# d& V) \7 A
( V! C( A+ O* g9 X! A6 V
这样可能会出现,如果没有自己的服务器,没有权限修改machinekeys目录顺便向你推荐一款高速稳定的时代互联智强商务C型 +.CN域名,原价1952元/年,现
1 m7 ]' C3 s1 [* d价只需1588元/年,还免费送域名,CDN网站加速器 送繁简通网络简装版 ,联付宝网上支付,我觉得特值,特向大家推荐!有兴趣的朋友可
. G, Z% g7 i$ Y4 h) A3 yhttp://www.now.cn/vhost申请试试!     电话:0756-2623871   QQ: 168075865   MSN:north888@now.net.cn
( V2 z" V* I8 ]: |; O$ T全球免费咨询电话 http://www.now.cn/callcenter/call.net?LineName=55




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