Board logo

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

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

asp.net2.0如何加密数据库联接字符串
+ U  P  l3 h" C: M- }; @- J2 @- s在asp.net2.0中,发布网站时,加密web.config,这样可以有效保证数据库用户和密码安全,其步骤如下:+ n$ h1 Z& E1 O- D* N8 Z8 P# L  c7 U
1.添加密钥
& J* `' `: P" j2 k执行:c:\windows\microsoft.net\framework\v2.0.50727\aspnet_regiis -pc "hnlaw" -exp
3 s7 V  q3 o( a3 u' [% v其中"hnlaw"为密钥名称# ^0 L+ v9 t1 R! J! y
2.添加web.config节点. C2 D, p& N* `+ t6 X. R- `
在web.config的<configuration></configuration>之间添加:8 J; r. V' u1 Q' y
<configprotecteddata>2 F2 k, j+ E7 G7 `) k+ d' C
  <providers>* `& w7 G* X4 E6 V" M% [! A: i
   <add keycontainername="hnlaw" usemachinecontainer="true" description="uses rsacryptoserviceprovider to encrypt and . y$ X- x0 W$ I
decrypt" name="hnlaw" type="system.configuration.rsaprotectedconfigurationprovider,system.configuration, version=2.0.0.0,
" c7 ]* q' S) S# m* r8 V- T( B5 A" @culture=neutral, publickeytoken=b03f5f7f11d50a3a" />5 E, g; Z- A: s# h- [, X
  </providers>
7 t  [; }3 t: N' p</configprotecteddata>
2 ^1 _3 i- Y5 s2 ?/ e注意:这里keycontainername="hnlaw"和name="hnlaw"分别表示你的密钥名称;
& f' K& S& _8 d! B- x2 R! m# O! ^3.加密web.config
7 M6 V% @0 M* b3 _9 d# G3 `, T到网站根目录添加一个批处理文件enweb.bat,内容如下:; [! s5 h6 i$ U- {# j( w
@echo off
# B  z8 T5 s2 J0 Nc:\windows\microsoft.net\framework\v2.0.50727\aspnet_regiis -pef "system.web/identity" "e:\hs  studio\donet2\hnlawyer" -prov * n; ]; r" p8 I+ M! O
"hnlaw"/ T2 g# l5 Z9 y! b& k+ S
  c:\windows\microsoft.net\framework\v2.0.50727\aspnet_regiis -pef "connectionstrings" "e:\hs  studio\donet2\hnlawyer" -prov - ~4 g( B$ {3 g# q6 m
"hnlaw"& G5 x! a9 U. m8 B) Q
pause! v/ A3 ]" B- I8 E
注册上面的的路径和名称!" x0 E  U9 S$ s8 \& @8 ]
运行后出现成功!
, f1 {9 f* N) E9 A4.解密
$ F' ^' T1 X4 G! M: x- w& o同样到网站根目录添加一个批处理文件deweb.bat,内容如下:
8 b8 P4 S8 @4 ?! J1 Q+ U/ o' T@echo off
+ l/ B8 X" x  a6 ]1 O9 Oc:\windows\microsoft.net\framework\v2.0.50727\aspnet_regiis -pef "system.web/identity" "e:\hs  studio\donet2\hnlawyer"8 n6 m! n6 B* O; ]- v; M! h: D0 r
c:\windows\microsoft.net\framework\v2.0.50727\aspnet_regiis -pdf "connectionstrings" "e:\hs  studio\donet2\hnlawyer"
* _6 P  s' S1 h/ T2 Cpause
2 T" h) Q# o4 O0 p最后就是要注意:做完后找到c:\documents and settings\all users\application data\microsoft\crypto\rsa\machinekeys目录下,找到生成
3 E- J- ?$ F4 {) s  Z7 x0 D的密钥文件(可按时间查找),给上network service可读取权限,不然会出现error message from the provider: the rsa key container could
5 K! Q& l6 Q' B; Tnot be opened.无法读取
6 F% ?5 V( \& A" ]4 J" L3 R. \4 R3 @9 B" T: M& r$ g* N! Y
这样可能会出现,如果没有自己的服务器,没有权限修改machinekeys目录顺便向你推荐一款高速稳定的时代互联智强商务C型 +.CN域名,原价1952元/年,现1 W5 \( X, n/ x+ U
价只需1588元/年,还免费送域名,CDN网站加速器 送繁简通网络简装版 ,联付宝网上支付,我觉得特值,特向大家推荐!有兴趣的朋友可
/ M( ?" Z, }+ U( w& X3 L) thttp://www.now.cn/vhost申请试试!     电话:0756-2623871   QQ: 168075865   MSN:north888@now.net.cn2 D1 Y9 ~. s+ }, K9 T- {- J: {
全球免费咨询电话 http://www.now.cn/callcenter/call.net?LineName=55




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