打开dos命令窗口:
[加密] 在命令窗口输入 C:\WINDOWS\Microsoft.NET\Framework\v4.0.30319\aspnet_regiis.exe -pef "connectionStrings" "E:\WANGZHAOWU\ENKJ_OA"
然后确定即可完成对web.config的加密。
[解密] 在命令窗口输入 C:\WINDOWS\Microsoft.NET\Framework\v4.0.30319\aspnet_regiis.exe -pdf "connectionStrings" "E:\WANGZHAOWU\ENKJ_OA"
然后确定即可完成对web.config的解密。
解释:
[v4.0.30319]:需要根绝不同的.netframework版本进行修改,事实上就是在该路径下运行了这个命令而已,你懂得。
[connectionStrings]:web.config的配置节点名。
[E:\WANGZHAOWU\ENKJ_OA]:需要机密的项目的web.config路径
注意事项:
1:在网上查了很多解决下面问题的方案,实际操作后基本上一步就能解决问题,我的是这样解决的,不知道你的是不是解决了。
2:一般情况下加密web.config后在本地运行不会出现问题,但是通过iis访问就会报错,比如:
配置错误:未能使用提供程序“RsaProtectedConfigurationProvider”进行解密。提供程序返回错误信息为: 打不开 RSA 密钥容器。
3:解决方案就是注册RSA容器,操作方法如下,同样打开dos窗口,然后在命令窗口输入
C:\WINDOWS\Microsoft.NET\Framework\v4.0.30319\aspnet_regiis -pa "NetFrameworkConfigurationKey" "NT AUTHORITY\NETWORK SERVICE" 输入正确后运行就一切OK了,我的问题解决.