首页 > 安全 > 加密解密 >

web.config .net中数据库连接字符串加密解密

2010-03-30

 .net中,我们一般把数据库连接字符串写在web.config这个文件里,因为如果直接写在类里,到网站发布,我们一般会把部署好的网站给客户(页面文件和dll文件),没有代码文件(cs文件),如果我们把连接字符串写代码里,那很显然不方便,但也有的

.net中,我们一般把数据库连接字符串写在web.config这个文件里,因为如果直接写在类里,到网站发布,我们一般会把部署好的网站给客户(页面文件和dll文件),没有代码文件(cs文件),如果我们把连接字符串写代码里,那很显然不方便,但也有的人会把连接字符串放那里,所以我们提权的时候有的时候在web.config里根本没发现数据库连接信息

但如果我们把他放在web.config里,是以明文显示的,不安全,所以.net为我们提供了加密工具,

加密方法
aspnet_regiis.exe -pef "web.config里的配置节" "项目路径" -prov "DataProtectionConfigurationProvider"

解密方法
aspnet_regiis.exe -pdf "web.config里的配置节" "项目路径" -prov "DataProtectionConfigurationProvider"
更详细的参数信息自己看帮助


----------------------------------------------------------------------

例子

未加密时web.config

\

加密语句
C:WINDOWSMicrosoft.NETFrameworkv2.0.50727aspnet_regiis.exe -pef "connectionStrings" "项目路径" -prov "DataProtectionConfigurationProvider"

如图
\

加密后web.config
\

解密语句
C:WINDOWSMicrosoft.NETFrameworkv2.0.50727aspnet_regiis.exe -pdf "connectionStrings" "项目路径"
解密过程
\
==========================================================================

有几点要注意下


1. 加密和解密一定要在同一台计算机,所以如果我们用这个加密下,在webshell里别人是搞出不出什么东西来(当然,如果webshell权限是系统权限就不一样了)

2.我们加密连接字符串后,使用不用我们自己去解密,.net会自动解密

3.对中文支持不是很好,如果站点的路径有中文,可能不能正常解密

相关文章
最新文章
热点推荐