通常web.config里面包含一些敏感字符,包括一些数据库连接串等,这些敏感字符通常直接暴露出来有一定的安全隐患,通常我们会对web.config进行加密操作
加密:新建文本文件encryptConfig.bat后缀名改为.bat,编辑内容为:
@echo off
C:\WINDOWS\Microsoft.NET\Framework\v2.0.50727\aspnet_regiis.exe -pef "connectionStrings" "E:\WebSite"
PAUSE
其中“connectionStrings“是需要加密的节点,“E:\WebSite“是站点web.config的存放路径,命令行工具aspnet_regiis.exe,该应用程序位于“%systemroot%\Micrsoft.NET\Framework\versionNumber”文件夹中,我的程序是默认路径,修改保存后双击encryptConfig.bat运行即可,运行完之后在看web.config就是已经加密后的内容了
解密:新建文本文件decryptConfig.bat后缀名改为.bat,编辑内容为:
@echo off
C:\WINDOWS\Microsoft.NET\Framework\v2.0.50727\aspnet_regiis.exe -pdf "connectionStrings" "E:\WebSite"
PAUSE
保存后双击decryptConfig.bat运行即可对web.config内容解密
需要注意的是,加密过程中使用了一个基于本机的密钥,这意味着解密过程必须在同一台计算机上完成。如果是将加密后的web.config文件移动到其它计算机上,那么web.config文件中的内容无法正常解密。注意,加密是-pef,解密是-pdf,不要搞错了