加密web.config的方法分享

前端技术 2023/09/04 .NET

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\" 

   成功!    

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\"

本文地址:https://www.stayed.cn/item/11722

转载请注明出处。

本站部分内容来源于网络,如侵犯到您的权益,请 联系我

我的博客

人生若只如初见,何事秋风悲画扇。