标签:http style class div img log tar c ext width strong
在WEB网站开发过程中,如果我们将数据库连接字符串封装到.DLL文件中,将会给数据库和程序的迁移带来麻烦,因为万一服务器地址或者数据库发生变更,那么我们就不得不修改源程序并重新将其编译。更好的解决方法是将数据库连接字符串写入到web.config配置文件中,可问题是将连接字符串写入到web.config文件中之后,任何人都能打开看到所连接的数据库名和密码,又会带来安全隐患,因此为了保证数据库的安全性,我们可以通过使用微软IDE自带的命令aspnet_regiis.exe将配置文件web.config中指定的标签进行加密,如果以后想查看加密后的连接字符串,我们还可以使用aspnet_regiis.exe将加密后的字符串进行解密。
1. 加密通用语法
加密一个特定网站的web.config文件的通用形式
aspnet_regiis.exe -pef secion
physical_directory -prov provider
或
aspnet_regiis.exe -pe
secion -app virtual_directory -prov provider
其中,各个参数的含义如下:
加密一个特定站点的连接字符串就是:
aspnet_regiis.exe -pef "connectionStrings" "你的web项目路径" -prov
"DataProtectionConfigurationProvider"
其中DataProctionConfiguartionProvider是Windows数据保护API(DPAPI)提供程序,它使用Windows内置的密码学技术来加解密配置节。默认情况下,这个提供程序使用本机的密钥。
2. 加密方法
运行Visual Studio 2008命令提示
加密后的结果
3. 解密
解密该连接字符串也很简单
aspnet_regiis.exe -pdf "connectionStrings"
‘你的web项目路径"
解密后的结果:
4.
后台代码读取配置文件web.config中数据库连接字符串的方法:
运行效果图:
5.
在连接字符串的加密和解密的过程中,需要注意一下几点。
使用加密的连接字符串不需要编码解密,ASP.NET会自动对加密内容进行解密。
在加密过程中,使用了一个基于本机的密钥。这就意味着加密和解密必须在同一台计算机上进行,否则将不能解密。同时,在一台计算机上加密的配置,在另一台计算机上将不能正常使用。
该命令对中文支持不是很好。如果站点的路径中有中文字符,也许不能正常加解密。
如何对web.config进行加密和解密,码迷,mamicode.com
标签:http style class div img log tar c ext width strong
原文地址:http://www.cnblogs.com/tenson/p/3696567.html