使用哪些密码加密ASP.NET Web.config文件的各个部分?

时间:2017-12-20 02:02:48

标签: c# asp.net .net encryption

我在这些链接上查看MS文档: https://msdn.microsoft.com/en-us/library/dtkwfdky.aspx https://msdn.microsoft.com/en-us/library/hh8x3tas.aspx

文档说明如下:

  

现在,ASP.NET应用程序的标识对默认RsaProtectedConfigurationProvider对象的RSA密钥容器具有读访问权限,您将使用该密钥容器加密ASP.NET应用程序的Web.config文件的各个部分。 / p>

这似乎意味着Web.config文件中的受保护部分将通过RSA加密,在示例XML代码中,我确实看到以下代码

<EncryptionMethod Algorithm="http://www.w3.org/2001/04/xmlenc#rsa-1_5" />

但是,我也看到以下代码,这似乎表明TDES-CBC被用作密码:

<EncryptionMethod Algorithm="http://www.w3.org/2001/04/xmlenc#tripledes-cbc" />

正在使用哪些密码来加密哪些数据?

1 个答案:

答案 0 :(得分:1)

引用各种文档:

您可以指定自己的受保护配置提供程序,也可以使用ASP.NET中内置的提供程序之一。

默认情况下, Machine.config 文件指定以下受保护的配置提供程序[包含在.NET Framework中]:

DpapiProtectedConfigurationProvider。使用Windows数据保护    用于加密和解密数据的API(DPAPI)。

RsaProtectedConfigurationProvider。 使用RSA加密算法加密和解密数据。 [默认]

https://msdn.microsoft.com/en-us/library/68ze1hb2(v=vs.100).aspx

// Encrypt the <connectionStrings> section.
connectionStrings.SectionInformation.ProtectSection("RsaProtectedConfigurationProvider");

“在某些情况下,您可能需要使用RSA或DPAPI提供程序以外的算法加密信息。” https://msdn.microsoft.com/en-us/library/wfc2t3az(v=vs.100).aspx

TripleDES提供者样本:https://msdn.microsoft.com/en-us/library/system.security.cryptography.tripledescryptoserviceprovider(v=vs.100).aspx