欢迎您访问程序员文章站本站旨在为大家提供分享程序员计算机编程知识!
您现在的位置是: 首页  >  IT编程

加密web.config的方法分享

程序员文章站 2024-03-03 14:56:28
1、打开记事本,然后将下面的代码复制到一个新文件中。复制代码 代码如下:<%@ page language="c#" %><%response.write...

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"