您的位置:时时app平台注册网站 > 编程知识 > VS开拓顺序顾客卫戍安全主题素材【时时app平台注

VS开拓顺序顾客卫戍安全主题素材【时时app平台注

2019-11-28 03:19

  (1)如果只是简单的防使用人员的话,那么你可以考虑在appsetting或其他的配置节中放加密后的连接字符串,然后在使用的地方先解密再使用,这里我介绍下DES加解密的方式(密匙为8位字节)。

  <add name="SQLConnString" connectionString="Data Source=yourIP;Initial Catalog=test;User Id=yourID;Password=yourPassword;" 

转载请注明出处

 1 /// <summary> 
 2         /// DES解密,密钥为8为字符 
 3         /// </summary> 
 4         /// <param name="strDecrypt">需要加密的字符串</param> 
 5         /// <param name="strKey">8位的密钥</param> 
 6         /// <returns></returns> 
 7         public string DesDecrypt(string strDecrypt, string strKey) 
 8         { 
 9             if (string.IsNullOrEmpty(strDecrypt)) return null; 
10             try 
11             { 
12                 DESCryptoServiceProvider des = new DESCryptoServiceProvider(); 
13                 byte[] inputByteArray = new byte[strDecrypt.Length / 2]; 
14                 for (int x = 0; x < strDecrypt.Length / 2; x  ) 
15                 { 
16                     int i = (Convert.ToInt32(strDecrypt.Substring(x * 2, 2), 16)); 
17                     inputByteArray[x] = (byte)i; 
18                 } 
19                 des.Key = ASCIIEncoding.ASCII.GetBytes(strKey); 
20                 des.IV = ASCIIEncoding.ASCII.GetBytes(strKey); 
21                 MemoryStream ms = new MemoryStream(); 
22                 CryptoStream cs = new CryptoStream(ms, des.CreateDecryptor(), CryptoStreamMode.Write); 
23                 cs.Write(inputByteArray, 0, inputByteArray.Length); 
24                 cs.FlushFinalBlock(); 
25                 return System.Text.Encoding.Default.GetString(ms.ToArray()); 
26             } 
27             catch 
28             { 
29                 return null; 
30             } 
31         } 

分析器错误信息: 未能使用提供程序“KeyProvider”进行解密。提供程序返回错误信息为: 打不开 RSA 密钥容器。

总结

配置文件中经常会有用户名密码的敏感信息,为了防止该信息泄露,需要对配置文件进行加密。加密与解密可以使用.NET提供的工具aspnet_regiis.exe,可以在Windows .NET的文件夹中找到它。

该工具只对web.config文件进行修改,如果要加密或解密app.config,可以先将app.config文件改名为web.config,加密或解密后再改回来。

-pdf section webApplicationDirectory 对指定物理(非虚拟)目录中的 Web.config 文件的指定配置节进行解密。

这个则连私钥一起导出了,所以我们要用这个。

<?xml version="1.0"?><configuration>    <system.web>      <compilation debug="true" targetFramework="4.0" />    </system.web>    <connectionStrings>      <add name="MyNwConnectionString" connectionString="Server=myServerAddress;Database=myDataBase;User Id=myUsername; Password=myPassword;"/>    </connectionStrings>    <appSettings>      <add key="User" value="myUsername"/>      <add key="Password" value="myPassword"/>    </appSettings></configuration>

using System;using System.Configuration;namespace WebConfigEncryptTest{    public partial class WebForm1 : System.Web.UI.Page    {        protected void Page_Load(object sender, EventArgs e)        {            string user = ConfigurationManager.AppSettings.Get("User");            string password = ConfigurationManager.AppSettings.Get("Password");            string connectionString = ConfigurationManager.ConnectionStrings["MyNwConnectionString"].ConnectionString;        }    }}

  一个开发的系统程序从需求、设计到打包、用户使用的过程中,安全问题一直是开发者关注的焦点。对于用户来说,不考虑加密工具(如加密精灵等),面对的是一个系统的各个组件集合及各类的配置文件( 如App.Config / Web.Config)。其中,涉及到安全防范问题如App.Config配置文件,里面会包含很多信息,包括最不想让用户知道的服务器地址、登录名和密码等,特殊的文件除外。本篇文章会展开两种方式来处理安全问题。

  <clear /> 

加密文件的命令

加密web.config文件可以使用:

aspnet_regiis -pef section web-app-physical-dir

Encrypt the configuration section. Optional arguments:

[-prov provider] Use this provider to encrypt.

比如运行下面的命令就会分别对connectionStrings和appSettings中的信息进行加密:

aspnet_regiis.exe -pef "connectionStrings" "C:mywebHelloService"

aspnet_regiis.exe -pef "appSettings" "C:mywebHelloService"

时时app平台注册网站 1

加密后的web.config文件变成:

<?xml version="1.0"?><configuration>    <system.web>      <compilation targetFramework="4.0" />    </system.web>    <connectionStrings configProtectionProvider="RsaProtectedConfigurationProvider">        <EncryptedData Type="http://www.w3.org/2001/04/xmlenc#Element"            xmlns="http://www.w3.org/2001/04/xmlenc#">            <EncryptionMethod Algorithm="http://www.w3.org/2001/04/xmlenc#tripledes-cbc" />            <KeyInfo xmlns="http://www.w3.org/2000/09/xmldsig#">                <EncryptedKey xmlns="http://www.w3.org/2001/04/xmlenc#">                    <EncryptionMethod Algorithm="http://www.w3.org/2001/04/xmlenc#rsa-1_5" />                    <KeyInfo xmlns="http://www.w3.org/2000/09/xmldsig#">                        <KeyName>Rsa Key</KeyName>                    </KeyInfo>                    <CipherData>                        <CipherValue>E2fO9C0TJVxImLYQZza fCQdDbTpNh/kOKLRsK6zcFjkgtUCl6SnMViuu/2G1NVTxqXyEWYwyK6AiCZA feeG/AvYvmEEVopVDb0YyGeuJgEI1r8HxTl8Cv f2EIimP7LJI JRZVerI4MU6Ke3wxm2S/ATc73/W6eg9808f4/D6J0pp3wND4E79gBiAnBHFYQIefdJYUsmHR9z9LiIqjCllkkj/JB0kso0kGJ9i iew1Jae5jugIN8gPxsXbCfmw6ru3I3Kbpa8Z5AllfkFA2YKrsuV3c7eLLJ0kB4lsIJIUTy3kRyA4GjdChOmlNwwffIbhwUPPxa25CiF0VAq27Q==</CipherValue>                    </CipherData>                </EncryptedKey>            </KeyInfo>            <CipherData>                <CipherValue>I1DWG11Iz/rq NC9C/21B3Q22J9 IexHPH6kkWvQPeHUO6OvOWeQbk3wHALR2ql8pz0gQJFyfTypMk/xSSikFI2Dcy5mgYY3kP73bQQ83ho3O1HPw9TsRtK1G8gmVNGyQLj7iTRcoGfiYYmSibPynv1MzSV1qDXlnVfKiMqKRZ5ZPiMSMc5u3dDEL/JW1oCvAGs5tHrZU5 vgvm0yCmSuCWZbXva iv9J35EQqs58pq hwVo1hg1dffdupGCBykaXGl5VX3TIGc=</CipherValue>            </CipherData>        </EncryptedData>    </connectionStrings>    <appSettings configProtectionProvider="RsaProtectedConfigurationProvider">        <EncryptedData Type="http://www.w3.org/2001/04/xmlenc#Element"            xmlns="http://www.w3.org/2001/04/xmlenc#">            <EncryptionMethod Algorithm="http://www.w3.org/2001/04/xmlenc#tripledes-cbc" />            <KeyInfo xmlns="http://www.w3.org/2000/09/xmldsig#">                <EncryptedKey xmlns="http://www.w3.org/2001/04/xmlenc#">                    <EncryptionMethod Algorithm="http://www.w3.org/2001/04/xmlenc#rsa-1_5" />                    <KeyInfo xmlns="http://www.w3.org/2000/09/xmldsig#">                        <KeyName>Rsa Key</KeyName>                    </KeyInfo>                    <CipherData>                        <CipherValue>WVoFIs8rSEgqKw1C0QCmePs7WK6EIoGCfdx9CTJNmABoVvoEWPnOEQwz/6Ruu0rGwa7q91KuhGILmy4NEN0padnX6FScCdEzP6CS59U3IFumYmTrD7D9ihqFO2aIL/SuBvV3D2kxhHaYGFaPuvYgsyOLf3 aYR3O/uh/k5wZxLoIeKUUrT762J3bdaK6cJWQeuOu4j2vDXEdawdwhlnK12UV8 /AXZNlFW1N3Z0RUVFX1nMSwTaIu8F3tZ9hCFbGwbTm2T0XnfDOcB6dCxCutqC8pXD36laAfiSANzAWoC Yhf5eFSj24fX0NU6UTQB8fqLyOgWsIMLxZLKVrwnlmg==</CipherValue>                    </CipherData>                </EncryptedKey>            </KeyInfo>            <CipherData>                <CipherValue>5W2KhG/oETLUDptobcOM52x1qD/g9A0By/wcGXI fm7EdcD8mT3TxsLVBVcHRBCyUO7OIHl8NyCrduRSYwyd8ggBCriQ5KrbAmW4LXrNnw/JjjCEJWPuRcRucVRfpgap2nHh6BXRXC/AU6v0GcRqy7LV8179PgGtyAa8IE1mV/w=</CipherValue>            </CipherData>        </EncryptedData>    </appSettings></configuration>

RSAProtectedConfigurationProvider是默认的缺省provider,如果想使用DPAPIProtectedConfigurationProvider,可以用-prov参数指明:

aspnet_regiis.exe -pef "connectionStrings" "C:mywebHelloService" -prov "DataProtectionConfigurationProvider"

aspnet_regiis.exe -pef "appSettings" "C:mywebHelloService" -prov "DataProtectionConfigurationProvider"

加密配置文件后,源程序不需要做任何改动。如果要修改或添加新的配置信息,需要先解密配置文件。不论使用哪种Provider,都只能在进行加密的计算机上对配置文件进行解密。

1<?xml version="1.0" encoding="utf-8"?>
 2<configuration>
 3  <configSections>
 4    <section name="dataConfiguration" type="Microsoft.Practices.EnterpriseLibrary.Data.Configuration.DatabaseSettings, Microsoft.Practices.EnterpriseLibrary.Data, Version=2.0.0.0, Culture=neutral, PublicKeyToken=null" />
 5  </configSections>
 6  <dataConfiguration defaultDatabase="Connection String" />
 7  <connectionStrings configProtectionProvider="RsaProtectedConfigurationProvider">
 8    <EncryptedData Type="http://www.w3.org/2001/04/xmlenc#Element"
 9      xmlns="http://www.w3.org/2001/04/xmlenc#">
10      <EncryptionMethod Algorithm="http://www.w3.org/2001/04/xmlenc#tripledes-cbc" />
11      <KeyInfo xmlns="http://www.w3.org/2000/09/xmldsig#">
12        <EncryptedKey xmlns="http://www.w3.org/2001/04/xmlenc#">
13          <EncryptionMethod Algorithm="http://www.w3.org/2001/04/xmlenc#rsa-1_5" />
14          <KeyInfo xmlns="http://www.w3.org/2000/09/xmldsig#">
15            <KeyName>Rsa Key</KeyName>
16          </KeyInfo>
17          <CipherData>
18            
<CipherValue>g2QFQqbHU1L6WUPYqjADqFAvHcdq/7dqCd1U9GlQFEi/nHDVHjqsWvjNywOZtQQg7Q/yW7g8xlRCo0h2 yYd/tQTNoVMu/RKdJmSjZMnmnwpWq S2VEWK4U106JQwLCfBR/bAF4DHvG47B9KB0JbRfXBt5V2wJVaAI9u3kzuj50=</CipherValue>
19          </CipherData>
20        </EncryptedKey>
21      </KeyInfo>
22      <CipherData>
23        
<CipherValue>blwV/ZW1izFZL80YL5RkcjrIjWkQ0L1gJhgZbxEzzTgOcT24ihrAnv3/rDCG WIZ7TL5D/rMm7dQwkIsij1Sh3befg6F3 pxcW4oe1w/bovIKuzjs3tokUpBvTTj fsCs2W/MWUhQaWMKQWkHfS2Ajt6gL6MTYtb3pfQUp0pdHbeRxoqdiAksQ1Zzsi1FtRTi7gTT7hnpF0pJs W9mxTVDMO/qSZXfXLOEMIs/A5ExcfvR5GjpaPuDeLuSsCN3XtjaiXzaDQ3It7j r66 L2C0xvEhbT9SsG</CipherValue>
24      </CipherData>
25    </EncryptedData>
26  </connectionStrings>
27</configuration>

aspnet_regiis -px "Key" "e:Keys.xml" -pri

在web.config或app.config文件里我们经常会存储一些敏感信息,比如connectionStrings或者appSettings,比如像下面的文件。

那么有了上面加密后的一堆数据,如何更改对应配置文件中的某个配置节上的数据,微软提供System.Configuration.dll组件来操作App.Config配置文件等数据将其处理,如:

configSection.SectionInformation.UnprotectSection();

原创地址:

  (2) 默认情况下,我们需要对App.config文件里的connectionStrings或其他配置节片断进行加密处理,ASP.NET IIS 注册工具 (Aspnet_regiis.exe)可以胜任这个工作,但这个工具只能针对ASP.NET的Web.config文件,难道我们就没有办法了吗?答案当然是否定的。

还有,通过aspnet_regiis -pa "Key" "NT AUTHORITYNETWORK SERVICE"控制对不同用户对密钥容器的访问权限,应该还可以进一步获取一些安全性,比如可以控制某些用户即使登录到服务器上,也无法用aspnet_regiis -pdf对配置文件进行解密。

解密文件的命令

解密的命令如下(解密命令不需要-prov参数):

-pdf section web-app-physical-dir

Decrypt the configuration section.

aspnet_regiis.exe -pdf "connectionStrings" "C:mywebHelloService"

aspnet_regiis.exe -pdf "appSettings" "C:mywebHelloService"

时时app平台注册网站 2

关于DES加解密的密匙的获取,一般是内部人员掌控,可访问服务器获取,安全上更有保障。

同理可以证明,在任何一台未安装正确的密钥容器Key的机器上,程序都无法对connectionStrings节进行解密,因此也就无法正常运行。

加密文件可以使用的Provider

.NET为我们提供了一个工具aspnet_regiis.exe来对web.config文件中的敏感信息进行加密(app.config文件可以先改名为web.config,加密后再改回app.config)。你可以使用两个provider中的一个来进行加密:

  • System.Configuration.DPAPIProtectedConfigurationProvider:在System.Configuration.dll中,使用Windows DPAPI(Data Protection API)来进行加密,密钥存在Windows Local Security Authority中。注意:当使用DPAPIProtectedConfigurationProvider时,加密文件所使用的帐号需要与运行web application的帐号相同,否则web application无法解密加密的内容。
  • System.Configuration.RSAProtectedConfigurationProvider:在System.Configuration.dll中,使用RSA算法来进行加密(RSA算法是非对称加密,参见《对称加密与非对称加密 》),公钥存放在config文件当中,只有加密的计算机有密钥。RSAProtectedConfigurationProvider通常是默认的缺省provider。

   提供参考网站:

这个命令只导出公钥,因此以后只能用于加密,而无法解密。

DES解密,密钥为8为字符

aspnet_regiis -pdf "connectionStrings" "E:projectTest"

-pef section webApplicationDirectory 对指定物理(非虚拟)目录中的 Web.config 文件的指定配置节进行加密。

6)导入key.xml文件

  配置选项:

Configuration config = WebConfigurationManager.OpenWebConfiguration(Request.ApplicationPath);

时时app平台注册网站 3时时app平台注册网站 4

ASP.NET web.config中,数据库连接字符串的加密与解密

Configuration config = ConfigurationManager.OpenExeConfiguration(ConfigurationUserLevel.None);
config.AppSettings.Settings["配置节"].Value = strDesEncrypt;//DES加密后的数据
config.Save();

C:WINDOWSMicrosoft.NETFrameworkv2.0.50727aspnet_regiis.exe -pef "connectionStrings" "你的Web项目路径"

1<?xml version="1.0" encoding="utf-8"?>
 2<configuration>
 3  <configSections>
 4    <section name="dataConfiguration" type="Microsoft.Practices.EnterpriseLibrary.Data.Configuration.DatabaseSettings, Microsoft.Practices.EnterpriseLibrary.Data, Version=2.0.0.0, Culture=neutral, PublicKeyToken=null" />
 5  </configSections>
 6  <dataConfiguration defaultDatabase="Connection String" />
 7  <connectionStrings>
 8    <add name="Connection String" connectionString="Database=LocomotiveStat;Server=10.167.61.49;User ID=sa;Password=sa;"
 9      providerName="System.Data.SqlClient" />
10  </connectionStrings>
11</configuration>

对winform程序的app.config进行加密实际意义并不大,因为无论如何,客户机都可以通过运行aspnet_regiis -pdf 来对配置文件进行解密,从而暴露敏感信息。

  A young ilder ~ An old baggar !

aspnet_regiis -pef "connectionStrings" "E:projectTest" -prov "KeyProvider"

 第一步:先将目录下的App.config改名为Web.config。

 

 

方法二、
 使用“RSAProtectedConfigurationProvider”形式来加密
 test.aspx程序文件基本如上,
 把
 section.SectionInformation.ProtectSection("DataProtectionConfigurationProvider");
 改成
 section.SectionInformation.ProtectSection("RSAProtectedConfigurationProvider");
 但这个时候你访问网站的时候很有可能会出现

 时时app平台注册网站 5

ASP.NET web.config中,数据库连接字符串的加密与解密。

 1 /// <summary> 
 2         /// DES加密,密钥为8位字符 
 3         /// </summary> 
 4         /// <param name="strEncrypt">需要加密的字符串</param> 
 5         /// <param name="strKey">8位的密钥</param> 
 6         /// <returns></returns> 
 7         public static string DesEncrypt(string strEncrypt, string strKey) 
 8         { 
 9             if (string.IsNullOrEmpty(strEncrypt)) return null; 
10             try 
11             { 
12                 DESCryptoServiceProvider des = new DESCryptoServiceProvider(); 
13                 byte[] inputByteArray = Encoding.Default.GetBytes(strEncrypt); 
14                 des.Key = ASCIIEncoding.ASCII.GetBytes(strKey); 
15                 des.IV = ASCIIEncoding.ASCII.GetBytes(strKey); 
16                 MemoryStream ms = new MemoryStream(); 
17                 CryptoStream cs = new CryptoStream(ms, des.CreateEncryptor(), CryptoStreamMode.Write); 
18                 cs.Write(inputByteArray, 0, inputByteArray.Length); 
19                 cs.FlushFinalBlock(); 
20                 StringBuilder ret = new StringBuilder(); 
21                 foreach (byte b in ms.ToArray()) 
22                 { 
23                     ret.AppendFormat("{0:X2}", b); 
24                 } 
25                 ret.ToString(); 
26                 return ret.ToString(); 
27             } 
28             catch 
29             { 
30                 return null; 
31             } 
32         } 

aspnet_regiis -pc "Key" -exp

 缺点:安全性低,局限于非计算机操作者,对于一个业务繁琐的系统不切实际。

开始--->运行,输入cmd,接着输入以下内容

 第二步:打开SDK命令提示,输入命令:aspnet_regiis -pef "配置节" "目录",以我的项目为例,加密前的config文件内容如下:

本文来自CSDN博客,转载请标明出处:

  希望本篇文章对大家有一定的帮助,以上有不足之处,或有其他更合理的方法请留言赐教。

if (configSection.SectionInformation.IsProtected)

时时app平台注册网站 6

2)在你要加密的信息前面指定密钥容器,如:

-pdf 和-pef 参数是对指定的物理目录里的Web.config文件进行加密,我们可以先将App.config文件改名为Web.config,通过这两个参数便可以“骗”过系统,让它将指定的配置节  进行加密,我们只需要将加密后的文件名改回App.config即可,我们来实验一下:

configSection.SectionInformation.ProtectSection ("DataProtectionConfigurationProvider");

DES加密,密钥为8位字符

aspnet_regiis -pz "Key"

  参考网址如:

<configProtectedData> 

  自己也随便找了个配置文件式下了,成功了。

config.Save();

由此可见,我们已经完成了任务,现在只需要将App.config文件名改回Web.config即可,在应用程序项目中无需对该文件进行解密操作,.NET框架会自动替我们完成,如果想解密该文件也很简单,在SDK命令提示里输入aspnet_regiis -pdf "配置节" "目录"即可。

5)把密钥容器删除

时时app平台注册网站 7时时app平台注册网站 8

  }
 //解密
  protected void Button2_Click(object sender, EventArgs e)
  {
  Configuration config = WebConfigurationManager.OpenWebConfiguration(Request.ApplicationPath);
  ConfigurationSection section = config.GetSection("connectionStrings");

输入命令:aspnet_regiis -pef "你要加密的【配置节】" "你要加密的【目录】",加密后的config文件内容如下:

</configProtectedData> 

  

引用地址:

1.在Dos命令窗口中执行命令:

  </providers> 

加密后解密出现找不到迷失错误!

}

并且确保在configuration节的xmlns属性有如下值:

...{//如果已经加密,就不用再加密了

3.如果连接字符串中的用户名和口令需要修改,则用下面的命令将webconfig文件解密.然后重复上面的加密步骤即可

最后说一下这个机制所提供的安全性保障可以运用在什么方面:

再看web.config文件,就会发现connectionStrings节已经被加密了,但是运行程序会发现程序仍然可以正确访问数据库。

 

C:Documents and SettingsAdministrator>C:WINDOWSMicrosoft.NETFrameworkv2.0.50727aspnet_regiis -pef "connectionStrings" "E:sjzbWebSite1"
2.命令成功完成以后会在C:Documents and SettingsAll UsersApplication DataMicrosoftCryptoRSAMachineKeys 中生成一个密钥文件.该文件在不同的机器上是不一样的.在该文件上点右键,选属性,在安全属性页上,将NETWORK_SERVICE组添加进去,给读取权限.

 说明: 在处理向该请求提供服务所需的配置文件时出错。请检查下面的特定错误详细信息并适当地修改配置文件。 
 分析器错误信息: 未能使用提供程序“RsaProtectedConfigurationProvider”进行解密。提供程序返回错误信息为: 打不开 RSA 密钥容器。
 
 这样的错误,解决方法是:
 进dos运行:aspnet_regiis -pa "NetFrameworkConfigurationKey" "NT AUTHORITYNETWORK SERVICE"
  如果运行出错,需要把目录 C:WINDOWSMicrosoft.NETFrameworkv2.0.50727 放入环境变量path中。
  此时就可以成功访问网站了。
  同样可以通过命令行来实现“RSAProtectedConfigurationProvider”加密
  
  注意:你也可以不运行 aspnet_regiis -pa "NetFrameworkConfigurationKey" "NT AUTHORITYNETWORK SERVICE"命令来注册默认的 RsaProtectedConfigurationProvider 的RSA 密钥容器
  方法如下:
  1)创建一个可导出的rsa密钥容器,命名为Key

 //加密
 protected void Button1_Click(object sender, EventArgs e)
  {
  Configuration config = WebConfigurationManager.OpenWebConfiguration(Request.ApplicationPath);
  ConfigurationSection section = config.GetSection("connectionStrings");
   
  if (section != null && !section.SectionInformation.IsProtected)
  {
  section.SectionInformation.ProtectSection("DataProtectionConfigurationProvider");
  config.Save();
  }

(注意,如果还是有错误,那可能是您没有给生成的密匙文件足够的权限,去到 C:Documents and SettingsAll UsersApplication DataMicrosoftCryptoRSAMachineKeys 目录下,
  找到刚生成的密匙文件,把network service用户的读取权限赋予给它,就可以了,直接用命令的话也可以:命令如下 aspnet_regiis -pa "Key" "NT AUTHORITYNETWORK SERVICE" ,可能需要重新启动iis)

  <providers> 

  if (section != null && section.SectionInformation.IsProtected)
  {
  section.SectionInformation.UnprotectSection();
  config.Save();
  }
  }

我们如果想对web.config的数据库连接字符串进行加密的话,那么这里提供了两个方法。

在代码中验证是否已经j加密:

3)对配置文件进行加密

else

      type="System.Configuration.RsaProtectedConfigurationProvider, System.Configuration, Version=2.0.0.0,Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a, processorArchitecture=MSIL" 

...{

aspnet_regiis -px "Key" "e:Key.xml"

删除后再运行程序,会提示出错:

参数分别为:需要加密的配置节、项目所在目录的物理路径、加密所使用的密钥容器名称

      useMachineContainer="true"/> 

}

config.Save();

<connectionStrings> 

C:Documents and SettingsAdministrator>C:WINDOWSMicrosoft.NETFrameworkv2.0.50727aspnet_regiis -pdf "connectionStrings" "E:sjzbWebSite1"

对于web.config进行加密的意义也仅限于,当web.config文件不小心泄露时,不会同时泄露敏感信息,如果恶意攻击者已经取得了在服务器上运行程序的权限,那么同app.config一样,可以很容易通过通过运行aspnet_regiis -pdf 获取明文了。

</connectionStrings>

此时,只需运行:

  providerName="System.Data.SqlClient" /> 

C:WINDOWSMicrosoft.NETFrameworkv2.0.50727aspnet_regiis.exe -pdf "connectionStrings" "你的Web项目路径"

ConfigurationSection configSection = config.GetSection("connectionStrings");

 

加密:

解密:

此时,再运行程序会发现又可以解密了。证明加密与解密机制运行正常。

aspnet_regiis -pi "Key" "e:Keys.xml"

方法一、
  使用“DataProtectionConfigurationProvider”形式加密,创建test.aspx文件,代码如下:
 需要添加引用
 using System.Web.Configuration;
 using System.IO;

总结:此方法很方便,并且很简单,但安全性没有密钥加密高。

      keyContainerName="Key" 

.NET为版本的路径自行修改,其中connectionStrings连接字符串的名称。(版本和自己的配置相关联)
connectionStrings>
<add name="Conn" connectionString="server=. ;database=UserDB;integrated security=sspi" />
</connectionStrings>

<configuration xmlns=";

就可以对web.config文件进行解密。

  <add name="KeyProvider" 

4)把密钥容器导出为xml文件

本文由时时app平台注册网站发布于编程知识,转载请注明出处:VS开拓顺序顾客卫戍安全主题素材【时时app平台注

关键词: