加密Web.Config文件

本文介绍如何使用 aspnet_regiis 工具加密 ASP.NET 应用中的 web.config 文件,保护连接字符串等敏感信息。通过创建 RSA 密钥容器并设置权限,实现对配置文件的安全加密。

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

1、打开记事本,然后将下面的代码复制到一个新文件中。

<%@ Page Language="C#" %>
<%
Response.Write(System.Security.Principal.WindowsIdentity.GetCurrent().Name);
%>

保存 my.aspx 到你的web目录 ,运行一下窗体显示 “ NT AUTHORITY/NETWORK SERVICE ”。成功!

2、(关键一步)运行cmd,执行以下

   aspnet_regiis -pa "NetFrameworkConfigurationKey" "NT AUTHORITY/NETWORK SERVICE"

   说明:注册默认的 RsaProtectedConfigurationProvider 的RSA 密钥容器,
    NetFrameworkConfigurationKey 是 RsaProtectedConfigurationProvider 的默认provider。 成功!

3、现在,可以加密web.config ,运行:

   加密:aspnet_regiis -pe "connectionStrings" -app "/Myweb"  
       说明:"connectionStrings" 是要加密的节,"/Myweb"是的web目录      
   解密:aspnet_regiis -pd "connectionStrings" -app "/Myweb"  
  
   成功!    
   注意: "connectionStrings" 是你想要加密的节点名称,/Myweb是你要加密的虚拟目录,如果没有自己创建!
4、这样就可以在程序里调用了(不用解密, 哈哈):
    ...
    string connstr= ConfigurationManager.ConnectionStrings["myConnstr"].ConnectionString.ToString();
    ...

  
同样的,也可以用创建自己的RSA 密钥容器,如下:

  (1)、创建 "MyKeys" 密钥容器,运行:aspnet_regiis -pc "MyKeys" -exp
  (2)、在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>
      
        保存。
  
  (3)、授予帐户对计算机级别的 "MyKeys" RSA 密钥容器的访问权限,运行:

       aspnet_regiis -pa "MyKeys" "NT AUTHORITY/NETWORK SERVICE"

  (4)、现在,可以加密web.config ,运行:

        加密:aspnet_regiis -pe "connectionStrings" -app "/Myweb" -prov "MyProvider"  

             说明:"connectionStrings" 是要加密的节,"/Myweb"是的web目录,"MyProvider" 自己密钥容器
      
        解密:aspnet_regiis -pd "connectionStrings" -app "/Myweb" -prov "MyProvider" 
 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值