appSettings加密原因,就是因为容易暴露服务器账号和密码,而且客户也不允许
使用ASP.NET提供的命令工具aspnet_regiis来创建加密命令;aspnet_regiis是提供了直接对配置文件加密的功能的;并且使用aspnet_regiis加密的配置节点在读取时不需要手动解密,.Net会自行解密并返回解密后的数据。
找到aspnet_regiis工具目录
示例:C:\Windows\Microsoft.NET\Framework\v4.xxxxx
打开cmd控制台,CD进入C:\Windows\Microsoft.NET\Framework\v4.xxxxx目录下
开始加密
aspnet_regiis.exe -pef connectionStrings "C:\MyAppFolder" -prov "DataProtectionConfigurationProvider"
这个命令将加密config文件中的connectionStrings节点,C:\MyAppFolder指你程序部署的绝对路径。
aspnet_regiis.exe -pef "appSettings" "C:\MyAppFolder" -prov "DataProtectionConfigurationProvider"
这个命令将会加密config文件中的appSettings节点,C:\MyAppFolder指你程序部署的绝对路径。
开始解密
aspnet_regiis.exe -pdf connectionStrings "C:\MyAppFolder"
这个命令将解密config中的已经加密的connectionStrings节点。
aspnet_regiis.exe -pdf "appSettings" "C:\MyAppFolder"
这个命令将会解密config文件中的appSettings节点。
其它
对于控制台程序发布后,App.config文件其实已经变成xxxxxxx.exe.config文件了;这里我们就要改成Web.config文件,这是因为命令工具aspnet_regiis只认Web.config
提供一个快捷的.bat包执行
链接:https://pan.baidu.com/s/1ft7nQX1RgW4ZswpeZAX8Nw
提取码:tffx
-
加密前
-
加密后