如何对web.config进行加密和解密

作者&投稿:甄瑞 (若有异议请与网页底部的电邮联系)
如何对web.config进行加密和解密~

在WEB网站开发过程中,如果将数据库连接字符串封装到.DLL文件中,将会给数据库和程序的迁移带来麻烦,因为万一服务器地址或
者数据库发生变更,那么就不得不修改源程序并重新将其编译。更好的解决方法是将数据库连接字符串写入到web.config配置文件中,可问题是将连
接字符串写入到web.config文件中之后,任何人都能打开看到所连接的数据库名和密码,又会带来安全隐患,因此为了保证数据库的安全性,可以通
过使用微软IDE自带的命令aspnet_regiis.exe将配置文件web.config中指定的标签进行加密,如果以后想查看加密后的连接字符
串,还可以使用aspnet_regiis.exe将加密后的字符串进行解密。

1. 加密通用语法
加密一个特定网站的web.config文件的通用形式
aspnet_regiis.exe -pef secion physical_directory -prov provider

aspnet_regiis.exe -pe secion -app virtual_directory -prov provider
其中,各个参数的含义如下:

section表示要加密的配置节

physical_directory用于指定站点的物理路径。

virtual_directory用户指定虚拟路径。

provider指定加密提供程序。

加密一个特定站点的连接字符串就是:
aspnet_regiis.exe -pef "connectionStrings" "自己的web项目路径" -prov "DataProtectionConfigurationProvider"
其中DataProctionConfiguartionProvider是Windows数据保护API(DPAPI)提供程序,它使用Windows内置的密码学技术来加解密配置节。默认情况下,这个提供程序使用本机的密钥。

2. 加密方法

运行Visual Studio 2008命令提示

加密后的结果



AQAAANCMnd8BFdERjHoAwE/Cl+sBAAAAy1WyvzomB0WAlqYo+ogiigQAAAACAAAAAAADZgAAqAAAABAAAADbDjp+bAce//lsg/so66+8AAAAAASAAACgAAAAEAAAANlF3b73Kdupv/cAf4a9nPUwAQAAoTvrHdAjNjaJFEfiG7pD6sG8GMNJKGpnd4JLchu7W9XhOuPgG4C/LD9H9WQ9uF3t/0MoMI9tbrWdFJ1Yu5/e3PAV4RCbCvDlPD0VC7hxtDMqfRjQ+1OhTdk2woiSNpx0TzXwZE25o4vlXq/aYri1Wmlo2zyRqSkg0hQFQbObCf7lrgWEUjsv+pEOS5OVXcgNhFipVMy5iQ8sH5fNHmGg8gu5JlZQaOqYFG8ci7MGOebcQzR67krJXRBrs26lZtAj8lzf2bK+QcSqtU7Rt4C33JbLqisPL9xhfoUl9GvGTu5VS1S1H5VtErTeYXxnL7PTIr3cNjIbDMjI48LJfoOgtymT35KUdK3J0DxB68DqPaeK5QSEC/L0+6bizStRZ7BDnOngV/XfiVJnbSNYXX5IShQAAACuGn8QGUuQ4TOzkKcc891SV/CVDQ==


lt;/connectionStrings>

3. 解密
解密该连接字符串也很简单
aspnet_regiis.exe -pdf "connectionStrings" '自己的web项目路径"

解密后的结果:





4. 后台代码读取配置文件web.config中数据库连接字符串的方法:

using System.Configuation;

protected void Page_Load(object sender, EventArgs e)
{
lblMessage.Text = ConfigurationManager.ConnectionStrings["Sql"].ToString();
}


5. 在连接字符串的加密和解密的过程中,需要注意一下几点。

使用加密的连接字符串

使用加密的连接字符串不需要编码解密,ASP.NET会自动对加密内容进行解密。

加密和解密在同一台计算机上使用

在加密过程中,使用了一个基于本机的密钥。这就意味着加密和解密必须在同一台计算机上进行,否则将不能解密。同时,在一台计算机上加密的配置,在另一台计算机上将不能正常使用。

中文路径问题
该命令对中文支持不是很好。如果站点的路径中有中文字符,也许不能正常加解密。

您好,升级了手机系统,管家的解密密钥就不同了。可以重新安装手机管家开启隐私空间使用原来关联的QQ号或图案密码即可恢复原隐私空间内容。如果管家提示有旧资料可以恢复就能恢复,如果没有提示就代表资料损坏了,恢复不了,很抱歉。感谢您对腾讯手机管家的支持!

在WEB网站开发过程中,如果我们将数据库连接字符串封装到.DLL文件中,将会给数据库和程序的迁移带来麻烦,因为万一服务器地址或
者数据库发生变更,那么我们就不得不修改源程序并重新将其编译。更好的解决方法是将数据库连接字符串写入到web.config配置文件中,可问题是将连
接字符串写入到web.config文件中之后,任何人都能打开看到所连接的数据库名和密码,又会带来安全隐患,因此为了保证数据库的安全性,我们可以通
过使用微软IDE自带的命令aspnet_regiis.exe将配置文件web.config中指定的标签进行加密,如果以后想查看加密后的连接字符
串,我们还可以使用aspnet_regiis.exe将加密后的字符串进行解密。

1. 加密通用语法
加密一个特定网站的web.config文件的通用形式
aspnet_regiis.exe -pef secion physical_directory -prov provider

aspnet_regiis.exe -pe secion -app virtual_directory -prov provider
其中,各个参数的含义如下:

section表示要加密的配置节

physical_directory用于指定站点的物理路径。

virtual_directory用户指定虚拟路径。

provider指定加密提供程序。

加密一个特定站点的连接字符串就是:
aspnet_regiis.exe -pef "connectionStrings" "你的web项目路径" -prov "DataProtectionConfigurationProvider"
其中DataProctionConfiguartionProvider是Windows数据保护API(DPAPI)提供程序,它使用Windows内置的密码学技术来加解密配置节。默认情况下,这个提供程序使用本机的密钥。

2. 加密方法

运行Visual Studio 2008命令提示

加密后的结果

<connectionStrings configProtectionProvider="DataProtectionConfigurationProvider">
<EncryptedData>
<CipherData> <CipherValue>AQAAANCMnd8BFdERjHoAwE/Cl+sBAAAAy1WyvzomB0WAlqYo+ogiigQAAAACAAAAAAADZgAAqAAAABAAAADbDjp+bAce//lsg/so66+8AAAAAASAAACgAAAAEAAAANlF3b73Kdupv/cAf4a9nPUwAQAAoTvrHdAjNjaJFEfiG7pD6sG8GMNJKGpnd4JLchu7W9XhOuPgG4C/LD9H9WQ9uF3t/0MoMI9tbrWdFJ1Yu5/e3PAV4RCbCvDlPD0VC7hxtDMqfRjQ+1OhTdk2woiSNpx0TzXwZE25o4vlXq/aYri1Wmlo2zyRqSkg0hQFQbObCf7lrgWEUjsv+pEOS5OVXcgNhFipVMy5iQ8sH5fNHmGg8gu5JlZQaOqYFG8ci7MGOebcQzR67krJXRBrs26lZtAj8lzf2bK+QcSqtU7Rt4C33JbLqisPL9xhfoUl9GvGTu5VS1S1H5VtErTeYXxnL7PTIr3cNjIbDMjI48LJfoOgtymT35KUdK3J0DxB68DqPaeK5QSEC/L0+6bizStRZ7BDnOngV/XfiVJnbSNYXX5IShQAAACuGn8QGUuQ4TOzkKcc891SV/CVDQ==</CipherValue>
</CipherData>
</EncryptedData>
lt;/connectionStrings>

3. 解密
解密该连接字符串也很简单
aspnet_regiis.exe -pdf "connectionStrings" '你的web项目路径"

解密后的结果:

<connectionStrings>
<add name="Sql" connectionString="Data Source=.;Initial Catalog=MySchool;Integrated Security=True" />
</connectionStrings>

4. 后台代码读取配置文件web.config中数据库连接字符串的方法:

using System.Configuation;

protected void Page_Load(object sender, EventArgs e)
{
lblMessage.Text = ConfigurationManager.ConnectionStrings["Sql"].ToString();
}


5. 在连接字符串的加密和解密的过程中,需要注意一下几点。

使用加密的连接字符串

使用加密的连接字符串不需要编码解密,ASP.NET会自动对加密内容进行解密。

加密和解密在同一台计算机上使用

在加密过程中,使用了一个基于本机的密钥。这就意味着加密和解密必须在同一台计算机上进行,否则将不能解密。同时,在一台计算机上加密的配置,在另一台计算机上将不能正常使用。

中文路径问题
该命令对中文支持不是很好。如果站点的路径中有中文字符,也许不能正常加解密。


初学者如何迅速学习web前端开发?
Vue框架进阶、Vue源码分析 阶段8.小程序 原生小程序入门、原生小程序API使用、小程序框架Mpvue web前端学习方向 这个学习的路线路你按照从上到下这个顺序学习就可以的,不管是报培训班还是自学,都是可以的,现在web前端还是有不错的视频,你可以根据自己的实际情况看看这些视频,希望对你有所帮助。

关于web.xml报错问题解决
2:删除<!DOCTYPE 。。。这段内容,即<!DOCTYPE web-app PUBLIC "-\/\/Sun Microsystems, Inc.\/\/DTD Web Application 2.3\/\/EN "http:\/\/java.sun.com\/dtd\/web-app_2_3.dtd">删除这行 3.修改web.xml的schema <?xml version="1.0" encoding="UTF-8"?> <web-app xmlns="http:\/\/java...

OpenWRT搭建个人web站点并结合内网穿透实现公网远程访问
5. 固定远程访问地址对于更稳定的连接,选择基础套餐或以上,启用二级子域名。登录cpolar后台,为http隧道保留一个固定域名,例如"websitewrt"。更新隧道信息,将子域名添加到配置中,确保公网访问的稳定性。至此,你的OpenWRT个人Web站点已经通过内网穿透成功实现了公网远程访问,无论身在何处,都能便捷地...

万文网(www.websww.com)是一个怎么样的网站?
探索万文网:一个专为站长打造的知识宝库 在互联网的世界里,万文网(http:\/\/www.websww.com)犹如一颗璀璨的明珠,以其独特的魅力和丰富的资源吸引着众多站长的目光。作为专门服务于站长的网站,它不仅提供前沿的SEO策略、建站技术指南,还有深入的网络营销解析,让每一位访客都能在这里找到价值所在。

网页Web设计流程
在未来,Web设计师们仍将会继续被要求给页面增加更丰富的多媒体内容,从而为Web站点的可视性和可操作性增加了新一级的复杂性和技术要求。作为CD-ROM\/多媒体设计师,要求我必须具有图形设计、视频、音频制作、动画等方面的知识和创作能力。我的预言是,Web设计师也将向这些领域发展。 对于属于microsoft.com的我们--以及...

Web前端最全面试宝典- Html篇
HTML 1.对WEB标准以及W3C的理解与认识 标签闭合、标签小写、不乱嵌套、提高搜索机器人搜索几率、使用外 链css和js脚本、结构行为表现的分离、文件下载与页面速度更快、内容能被更多的用户所访问、内容能被更广泛的设备所访问、更少的代码和组件,容易维 护、改版方便,不需要变动页面内容、提供打印版本而...

使用Webfreer浏览器轻松访问任何站点包括屏蔽的网站
   Webfreer 对Webfreer浏览器进行一些基本的设置:在基本设置选项中,将主页设置为“http:\/\/jxiazaizhijia.com

网址前面的www和后面的com分别是什么意思?
WWW是环球信息网的缩写,(亦作“Web”、“WWW”、“'W3'”,英文全称为“World Wide Web”),中文名字为“万维网”,"环球网"等,常简称为Web。 分为Web客户端和Web服务器程序。 WWW可以让Web客户端(常用浏览器)访问浏览Web服务器上的页面。com域名,国际最广泛流行的通用域名格式。国际化公司...

如何登录自己的网站后台管理?
如何登录网站后台管理?首先,您需要知道网站的后台登录URL。通常,这个URL是您网站的根地址后跟“\/admin”。例如,如果您的网站是“www.yourwebsite.com”,那么后台登录URL可能是“www.yourwebsite.com\/admin”。登录步骤通常包括:1. 在浏览器中输入后台登录URL。2. 进入登录页面后,输入您的用户名...

一个WEB网游的运营该怎么做呢
这种割断对于游戏运营公司来说非常难受,因为无法更进一步追踪了解这些“在线用户”们到底是怎么样的人,难以对这些用户进行准确判断,更惶论根据准确判断而进行运营策略上的有的放矢。 Web2.0的技术很容易构筑起一个良好的互动社区,由于用户的主动参与,用户会较少排斥关于涉及个人信息的内容,这将是游戏运营公司们乐于看到...

费县19162161813: WEB.CONFIG如何加密
韶果紫河: WEB.CONFIG 文件不需要加密,对客户端访问本身就有安全限制,不可以下载不可以访问. 如果想防止服务器端看到,还是少往里面写系统设置信息,用数据库存储加密后的系统设置信息.

费县19162161813: 如何对web.config进行加密和解密 -
韶果紫河: 加密一个特定网站的web.config文件的通用形式 aspnet_regiis.exe -pef secion physical_directory -prov provider 或 aspnet_regiis.exe -pe secion -app virtual_directory -prov provider 其中,各个参数的含义如下: section表示要加密的配置节 ...

费县19162161813: web.config的字符串加密是怎么做的 -
韶果紫河: 一、如何对Web.config中数据库连接字符串进行加解密,避免明文方式. 1)概述: Web.Config 中可以存储数据库连接语句,通常存于 配置节中,程序调用非常方便,但是在系统的应用过程中,利用明文存储这些敏感信息是不安全的,这就需...

费县19162161813: 如何在VisualStudio2005的Web config文件中对数据库连接字符串进行加密? -
韶果紫河: 配置文件的加密可以用.NET自带的进行加密. 当然,如果不在配置文件中加密也有办法,比如你可以封装到你的DLL里面.

费县19162161813: 怎样给Ture Type字体加密?(英文字体)啊
韶果紫河: 在asp.net2.0中,发布网站时,加密web.config,这样可以有效保证数据库用户和密码安全,其步骤如下: 1.添加密钥 执行:C:\WINDOWS\Microsoft.NET\Framework\v2.0.50727\aspnet_regiis -pc "hnlaw" -exp 其中"hnlaw"为密钥名称 2.添加...

费县19162161813: 如何在web.config中设置后台密码(详细一点)
韶果紫河: <add name="sqlserver" connectionString="user id=登陆数据库的账户名称;password=登陆账户密码;database=数据库名称;server=数据库地址(IP)" providerName="System.Data.SqlClient"/> 就是那么简单了~

费县19162161813: 怎样在web.config文件中配置连接字符串 -
韶果紫河: System.Configuration.ConfigurationManager.ConnectionStrings["SqlConnStr"].ConnectionString.ToString(); 这就等于"server=.\SQL2005;uid=sa;pwd=;database=PrettyWeb",

费县19162161813: 如何把EntityFrameWork 的连接字符串配置到WebConfig 中 -
韶果紫河: 一、如何对Web.config中数据库连接字符串进行加解密,避免明文方式. 1)概述: Web.Config 中可以存储数据库连接语句,通常存于 配置节中,程序调用非常方便,但是在系统的应用过程中,利用明文存储这些敏感信息是不安全的,这就需...

费县19162161813: FormsAuthentication这个类是怎么用的?
韶果紫河: 这个函数可以对明码进行加密 怎么跟web.config配合? 这个就是说有时候可能你要在web.config中存储一些敏感信息,就可以使用这个加密 http://msdn.microsoft.com/zh-cn/library/system.web.security.formsauthentication(VS.80).aspx http://msdn.microsoft.com/zh-cn/library/system.web.security.formsauthentication.hashpasswordforstoringinconfigfile(VS.80).aspx

费县19162161813: 怎么解密Web.config里面的IP和密码
韶果紫河: web.config的加密一般是在某台电脑上面进行的,只有在那台电脑上面才可以解密.. 你可以搜下 web.config的加密与解密

本站内容来自于网友发表,不代表本站立场,仅表示其个人看法,不对其真实性、正确性、有效性作任何的担保
相关事宜请发邮件给我们
© 星空见康网