对web.config加密

本文是利用aspnet_regiis先生成一个RSA密钥容器,在进行分配用户(这一步可以和生成RSA密钥合成一步),下一步对web.config中的节点进行加密。调用就象我们平常的一样,不用在进行解密。下面步骤

  第一步,新建个记事本,把下面的一段代码复制进去,并且保存为后缀名为.aspx的文件,<%@ Page Language="C#" %><%Response.Write(System.Security.Principal.WindowsIdentity.GetCurrent().Name);%>;在保存为test.aspx。把这个文件拷贝到你的web目录下,和web.config同级的目录下;运行窗体显示“ NT AUTHORITY/NETWORK SERVICE”,就成功了第一步.这句代码是确定给那个用户权限。第一步就完成了。

第二步,运行cmd.exe,进入/windows/Microsoft.Net/Framework/v2.0.50727目录下(在asp.net2.0环境下).执行下面的命令

 aspnet_regiis -pa "NetFrameworkConfigurationKey" "NT AUTHORITY/NETWORK SERVICE",这句话代码意思是生成一个RSA密钥容器,并给上面显示的用户分配权限

第三步,就是对web.config中的节点进行加密了,运行命令  aspnet_regiis -pe "connectionStrings" -app "/Myweb"  ;"connectionString"就是我们要加密的节点,"/Myweb"就是我们的WEB目录了,就是我们存放web.config的文件夹名,我们要注意的是前面的"/"必须是正的不能写成反的"/",有时不能进行加密,具体原因不太清楚,我认为可能是没有生成密钥,但前面的命令执行时提示成功的,所以这就是我不懂了。但可以用这样的方式可以在进行加密aspnet_regiis -pef "待加密的字段" "网站实际路径" -prov "DataProtectionConfigurationProvider"。

对web.config的加密就完成了,在我们调用web.config中的节点时,就像我们平常的一样,就可以了,不用在解密了。

 我们要 生成自己的RSA密钥容器的时候,把生成RSA密钥容器的命令里生成密钥的名字改成我们自己的,再在web.config里添加以下内容<protectedData>        <providers>         <add name="MyProvider"              type="System.Configuration.RsaProtectedConfigurationProvider, System.Configuration, Version=2.0. 0.0,                    Culture=neutral, PublicKeyToken=b03f5f7f11d0a3a,                    processorArchitecture=MSIL"              keyContainerName="MyKeys"               useMachineContainer="true" />        </providers>      </protectedData>,在授予帐户对计算机级别的“MyKeys“我们自己的RSA密钥容器的访问权限 aspnet_regiis -pa "MyKeys" "NT AUTHORITY/NETWORK SERVICE",下一步就是对web.config中的节点加密了,命令:aspnet_regiis -pe "connectionStrings" -app "/Myweb" -prov "我们自己的RSA密钥容器"  ;如果我们要解密的话和加密格式一样,就是把-pe 改成-pd就可以

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值