关于ASP.NET配置文件加密

发布于: 2018-02-26    浏览: 1548    作者:小伍

    大家在完成项目中,可能会遇到了这么一个问题,项目部署到生产环境中时,领导要求项目中的配置文件(如web.config,app.config)中不能出现敏感字符,如:数据库连接,等等。

    所以我就找了一些资料,发现了一种比较简便的方法,如下:

ASP. NET 2.0提供了一个保护配置模型来加密和解密web.config中sections信息。

RSAProtectedConfigurationProvider:默认通过RSA公钥来加密和解密。

首先,我们通过在windows命令行中执行aspnet_regiis.exe来加密与解密。

VS中创建一个新的web项目,打开web.config,加入数据库连接串,如:

长沙网站设计,长沙手机网站,长沙软件公司,湖南软件开发,长沙软件定制,长沙软件开发,湖南软件公司,长沙微信小程序,长沙网络公司,长沙软件外包公司,长沙竞价托管

 

然后我们按下面的步骤来加密和解密数据连接串

 

1. 开始菜单>>所有程序>>Microsoft visual studio 2008 >> Visual Studio Tools >> Visual Studio 2008 开发人员命令提示(如果是windows7,点右键与管理员身份运行)

2. 在命令窗口中,输入命令 aspnet_regiis.exe -pef "appSettings" "C:\VisualStudio2008\Authorization"

 –pef表明程序是以文件系统的形式建立的。第二个“appSettings”是你要加密的configuration 节点名字。第三个参数指名 web.config的物理路径。

3. 成功执行命令后会显示:加密成功。

现在,再打开程序中的 web.config,会变成像下面这样子了。

 长沙网站设计,长沙手机网站,长沙软件公司,湖南软件开发,长沙软件定制,长沙软件开发,湖南软件公司,长沙微信小程序,长沙网络公司,长沙软件外包公司,长沙竞价托管

我们在程序中并不要写任何代码来解密连接字符串,因为.NET会自动的为我们解密。如果我们要用连接字符串,可以像平常那样调用.

string strconnection = ConfigurationManager.AppSettings["dbconnection"].ToString();

 

如果我们想解密,只需要在VS的命令窗口中,输入aspnet_regiis.exe -pdf "appSettings" "C:\VisualStudio2008\Authorization"

成功执行后,会显示解密成功。

再打开web.config,我们可以看到解密后的字符串。

小伙伴们,是不是很方便啊。


 ——本文原创来自于 博客园







在线客服

售前咨询

售后服务

投诉/建议

服务热线
0731-83091505
18874148081