博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
Web.config 加密及解密
阅读量:2235 次
发布时间:2019-05-09

本文共 2213 字,大约阅读时间需要 7 分钟。

Web应用通常使用web.config存储数据库连接信息及应用的一些基础配置信息。为了安全性,我们采用一些加密手段来加密一些敏感信息,比如数据库连接字符串。

.NET 自带了一个aspnet_regiis的程序,可以帮助我们实现对web.config的加密和解密。

1.加密

1)导航到aspnet_regiis.exe目录下

cd C:\Windows\Microsoft.NET\Framework64\v4.0.30319

2)加密

C:\Windows\Microsoft.NET\Framework64\v4.0.30319>aspnet_regiis.exe -pef "connectionStrings" "D:\publish"Microsoft (R) ASP.NET RegIIS 版本 4.0.30319.33440用于在本地计算机上安装和卸载 ASP.NET 的管理实用工具。版权所有(C) Microsoft Corporation。保留所有权利。正在加密配置节...成功!

-pef 代表加密,connectionStrings代表的是要加密的配置节,D:\publish代表要加密的web.config所在的目录

加密之后的connectionStrings:

Rsa Key
FeMnXLCJptn7uRq2ZMRLRd7X2j/1sZeT99WypfKFlp2+FXe8jCUJCXlf86t/Q9R3CtnaspGiprqIMwwshZHAKo+E+6rhzlhGyLrizqLNY9kfol/ncbC+jkbX72eu6sZSE42dmsN388amxh75WS9Z/stHdg91I5Nfi6LmQUKFSfmrljEULYeyGMyKsW487jFkTvRcyApZawVlSb941hx6cfbxhlmjrIaTDKOXyiKFptiV8Qs7GsgvRL4L2wbKRUqp7k3po82l/ovVqmjv39SuMOv+ZdwCUi4ZAoQUvluX3VeIF+K2S8VK61v4sGZvCHqRZO72mQsgk/SovIRYGsxQ/Q==
mYKo+/TqmqRumdDTN3+zWgi+wXbBnKMowc77uE/IF2/f9ZcyjHuRRJtmIu1t/kFtX4zYON/EFf8yigDGVk4QpNblMUPTMU1CV0v8KHLvb08iZetf0ZIWpA3LB3so2npKUTl4LcXzIIIjuLhYLfxvuEJJdg0WuYyw4Yqxwn5NwuierX26gl73LCxdKUT3LMAX+OgWW2j4evhJ5YhvCLe5I8yo8xrGrpkAvUMf8YYGxWfAqyVQPklG20lFvZ0tMzGJ
加密前的连接字符串:
2.解密

有加密自然有解密,解密其实非常简单,使用如下命令即可:

C:\Windows\Microsoft.NET\Framework64\v4.0.30319>aspnet_regiis.exe -pdf "connectionStrings" "D:\publish"Microsoft (R) ASP.NET RegIIS 版本 4.0.30319.33440用于在本地计算机上安装和卸载 ASP.NET 的管理实用工具。版权所有(C) Microsoft Corporation。保留所有权利。正在解密配置节...成功!

说明:

1)加密后无需修改代码IIS可以直接读取配置信息。

2)从其他已加密的文件里拷贝加密字符替换未加密文件的配置节,IIS将无法正确读取配置信息。

3)aspnet_regiis.exe在使用前先确保iis已安装,并且aspnet_regiis已安装

4)确保cmd是以系统管理员身份启动,否则执行效果如下:

C:\Windows\Microsoft.NET\Framework64\v4.0.30319>aspnet_regiis.exe -pef "connectionStrings" "D:\publish"Microsoft (R) ASP.NET RegIIS 版本 4.0.30319.33440用于在本地计算机上安装和卸载 ASP.NET 的管理实用工具。版权所有(C) Microsoft Corporation。保留所有权利。正在加密配置节...执行 connectionStrings 的配置节处理程序时出错。未能使用提供程序“RsaProtectedConfigurationProvider”加密节“connectionStrings”。提供程序返回错误消息: 对象已存在。失败!

转载地址:http://xasbb.baihongyu.com/

你可能感兴趣的文章
Intellij IDEA使用(一)—— 安装Intellij IDEA(ideaIU-2017.2.3)并完成Intellij IDEA的简单配置
查看>>
Intellij IDEA使用(二)—— 在Intellij IDEA中配置JDK(SDK)
查看>>
Intellij IDEA使用(三)——在Intellij IDEA中配置Tomcat服务器
查看>>
Intellij IDEA使用(四)—— 使用Intellij IDEA创建静态的web(HTML)项目
查看>>
Intellij IDEA使用(五)—— Intellij IDEA在使用中的一些其他常用功能或常用配置收集
查看>>
Intellij IDEA使用(六)—— 使用Intellij IDEA创建Java项目并配置jar包
查看>>
Eclipse使用(十)—— 使用Eclipse创建简单的Maven Java项目
查看>>
Eclipse使用(十一)—— 使用Eclipse创建简单的Maven JavaWeb项目
查看>>
Intellij IDEA使用(十三)—— 在Intellij IDEA中配置Maven
查看>>
面试题 —— 关于main方法的十个面试题
查看>>
集成测试(一)—— 使用PHP页面请求Spring项目的Java接口数据
查看>>
使用Maven构建的简单的单模块SSM项目
查看>>
Intellij IDEA使用(十四)—— 在IDEA中创建包(package)的问题
查看>>
FastDFS集群架构配置搭建(转载)
查看>>
HTM+CSS实现立方体图片旋转展示效果
查看>>
FFmpeg 命令操作音视频
查看>>
问题:Opencv(3.1.0/3.4)找不到 /opencv2/gpu/gpu.hpp 问题
查看>>
目的:使用CUDA环境变量CUDA_VISIBLE_DEVICES来限定CUDA程序所能使用的GPU设备
查看>>
问题:Mysql中字段类型为text的值, java使用selectByExample查询为null
查看>>
程序员--学习之路--技巧
查看>>