在线时间:8:00-16:00
迪恩网络APP
随时随地掌握行业动态
扫描二维码
关注迪恩网络微信公众号
ASP.NET web.config中,数据库连接字符串的加密与解密。 虽然不怎么新鲜,但相信还是有许多人不知道,好,不说废话,直接给方法:开始--->运行,输入cmd,接着输入以下内容 加密: C:\WINDOWS\Microsoft.NET\Framework\v2.0.50727\aspnet_regiis.exe -pef "connectionStrings" "你的Web项目路径" 解密: C:\WINDOWS\Microsoft.NET\Framework\v2.0.50727\aspnet_regiis.exe -pdf "connectionStrings" "你的Web项目路径" .NET为版本的路径自行修改,其中connectionStrings连接字符串的名称。 需要注意的是,加密过程中使用了一个基于本机的密钥,这意味着解密过程必须在同一台计算机上完成。如果是将加密后的Web.config文件移动到其它计算机上,那么Web.config文件中的连接字符串将不能够正常解密。
ASP.net2.0提供了简便的加密方法,即使用aspnet_iis.exe命令,该命令位置如下: C:\WINDOWS\Microsoft.NET\Framework\v2.0.50727 注意,具体情况视系统位置及版本号有所差异 在命令模式下进入该目录即可运行,完整命令为: aspnet_iis -pef "connectionStrings" "Web.cofing绝对路径(注:不需要输入web.config)" 如果正常会提示“成功”,此时打开Web.config会发现字符串已加密 解密命令为: aspnet_iis -pdf "connectionStrings" "Web.cofing绝对路径(注:不需要输入web.config)" 注意的是加密、解密必须在一台机器上完成。 ----------------------------- 下面显示的是通过代码方式对数据库连接字符串加密,代码如下: Configuration config = WebConfigurationManager.OpenWebConfiguration(Request.ApplicationPath); ConfigurationSection configSection = config.GetSection("connectionStrings"); if (configSection.SectionInformation.IsProtected) ...{//如果已经加密,就不用再加密了 configSection.SectionInformation.UnprotectSection(); config.Save(); } else ...{ configSection.SectionInformation.ProtectSection ("DataProtectionConfigurationProvider"); config.Save(); } |
请发表评论