web.config文件的加密

本文详细介绍了如何使用aspnet_regiis命令对web.config文件中的connectionStrings节进行加密和解密,包括创建RSA密钥容器的过程,以及解决权限问题的方法。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

 

    今天无聊,突然看起了petshop的代码,看到了membership连接字符串为SQLMembershipConnString,但在connectionString中并没有发现对应的名字,而且在connectionString中发现了奇怪的字符:

<connectionStrings configProtectionProvider="RsaProtectedConfigurationProvider">

直觉上告诉我这是一个加密了的东东,于是打开了msdn,找到了相关信息。
    对web.config的加密主要是通过以下命令完成:
加密:
aspnet_regiis -pe "connectionStrings" -app "/SampleApplication" -prov "RsaProtectedConfigurationProvider"

解密:
aspnet_regiis -pc "RsaProtectedConfigurationProvider"–exp

但输入以上信息时你会发现一个错误(具体内容已经忘了,好像是提示你没有权限之类的)。这时你要先执行一个命令,利用aspnet_regiis的另一个参数:-pc 和-exp先建立一个rsa key 的容器(msdn上的说法,我不清楚container是否应该译为容器)。在petshop中,使用的rsa provider为RsaProtectedConfigurationProvider。创建rsa key container命令为:
aspnet_regiis -pc "RsaProtectedConfigurationProvider"–exp

现在你就可以在这个容器里对web.config中相应的节(session)进行加解密了。如果你用上面所介绍的命令可能会遇到另一个问题,你会发现不能连接相应的application,这有可能是你的网站没有在iis里建立(我通常做开发的时候是用文件系统来创建网站的)。你可以在iis里建立你的网站,你可以采用另外一种方式——利用aspnet_regiis的另外一个参数:-pef(加密) -pcf(解密)
加密:
aspnet_regiis.exe -pef "connectionStrings" "C:\petshop4.0\web" 

解密:
aspnet_regiis.exe -pdf "connectionStrings" "C:\petshop4.0\web" 
现在你就可以对web.config上相应的节进行加解密了。
这是我对web.config加解密学习中的一些总结,防止以后再要查msdn。

转载于:https://www.cnblogs.com/a12-3/archive/2008/06/18/1224843.html

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值