Board logo

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

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

asp.net2.0如何加密数据库联接字符串2 e$ a6 k7 B* s  J0 `- b: J
在asp.net2.0中,发布网站时,加密web.config,这样可以有效保证数据库用户和密码安全,其步骤如下:' Q1 G4 g5 J, K7 t
1.添加密钥/ b( @" e4 D' _% z; r; _4 o4 S
执行:c:\windows\microsoft.net\framework\v2.0.50727\aspnet_regiis -pc "hnlaw" -exp
7 ?% d3 ]! V( w7 `其中"hnlaw"为密钥名称
, H$ k2 A8 q: u* F2.添加web.config节点, \" ~7 m; |" |. d
在web.config的<configuration></configuration>之间添加:1 u" A* H$ Q, }' [  S1 S# T
<configprotecteddata>/ \, Z( ^: T/ i( X. ?, G6 ?
  <providers>
5 Z8 B  Q# [$ y) k- U1 D: h% f   <add keycontainername="hnlaw" usemachinecontainer="true" description="uses rsacryptoserviceprovider to encrypt and
6 [' G7 C- u" {/ Ndecrypt" name="hnlaw" type="system.configuration.rsaprotectedconfigurationprovider,system.configuration, version=2.0.0.0,
0 m: v$ N) L/ W# w  g3 qculture=neutral, publickeytoken=b03f5f7f11d50a3a" />
( B3 O; A8 [2 `! y  </providers>
2 w% U! n- H% [0 G</configprotecteddata>
0 q4 y( t0 m% o% y注意:这里keycontainername="hnlaw"和name="hnlaw"分别表示你的密钥名称;' y6 p  i: j5 ?* @  F1 q; w
3.加密web.config& h' Q9 g% E6 ]: F
到网站根目录添加一个批处理文件enweb.bat,内容如下:; @( A$ b7 c- E& X
@echo off
9 x$ ~# h; E& E  S7 ~# v. ac:\windows\microsoft.net\framework\v2.0.50727\aspnet_regiis -pef "system.web/identity" "e:\hs  studio\donet2\hnlawyer" -prov
0 U2 T5 Y1 z8 Z- H"hnlaw"
" u2 u8 T. ?. f1 p4 T2 d  c:\windows\microsoft.net\framework\v2.0.50727\aspnet_regiis -pef "connectionstrings" "e:\hs  studio\donet2\hnlawyer" -prov : N1 v1 w1 a9 M) \2 R
"hnlaw"# q! [/ |" ~* D, Z
pause
- Q8 f' F* S% @# g; t( o' J6 @+ r5 l注册上面的的路径和名称!
  b' C; c& o2 ]: w8 t/ h# l  u运行后出现成功!6 `2 N: _- t4 G, l: e3 j3 b" Z
4.解密4 E! g2 \. o, B; @; a2 ?, M
同样到网站根目录添加一个批处理文件deweb.bat,内容如下:
; q3 Y- Z. ~; s& `@echo off9 U' w, Y7 \5 S8 Y' x8 d& R) S
c:\windows\microsoft.net\framework\v2.0.50727\aspnet_regiis -pef "system.web/identity" "e:\hs  studio\donet2\hnlawyer"( K+ [: E, J: L# E5 H1 _4 f# D
c:\windows\microsoft.net\framework\v2.0.50727\aspnet_regiis -pdf "connectionstrings" "e:\hs  studio\donet2\hnlawyer"4 I- I, s. t6 J, z
pause# g7 }! Y& X" A9 q8 v6 R
最后就是要注意:做完后找到c:\documents and settings\all users\application data\microsoft\crypto\rsa\machinekeys目录下,找到生成
4 f; d0 k2 G/ U的密钥文件(可按时间查找),给上network service可读取权限,不然会出现error message from the provider: the rsa key container could * W: k7 H* C0 ]/ _2 k; i9 M0 K- r
not be opened.无法读取
3 d- Q/ B1 t' U: z) z3 P6 G/ i) X6 l" b4 a" W9 j# S
这样可能会出现,如果没有自己的服务器,没有权限修改machinekeys目录顺便向你推荐一款高速稳定的时代互联智强商务C型 +.CN域名,原价1952元/年,现/ U( |( i' T3 ~( h6 @5 v/ C# O
价只需1588元/年,还免费送域名,CDN网站加速器 送繁简通网络简装版 ,联付宝网上支付,我觉得特值,特向大家推荐!有兴趣的朋友可9 Q5 l& q, G% ^: @" y3 |1 ]
http://www.now.cn/vhost申请试试!     电话:0756-2623871   QQ: 168075865   MSN:north888@now.net.cn" t+ j1 x) [* N
全球免费咨询电话 http://www.now.cn/callcenter/call.net?LineName=55




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