C# 哪些密码用于加密ASP.NET Web.config文件的部分?

C# 哪些密码用于加密ASP.NET Web.config文件的部分?,c#,asp.net,.net,encryption,C#,Asp.net,.net,Encryption,我正在通过以下链接查看MS文档: 文件规定如下: 现在,ASP.NET应用程序的标识对默认RsaProtectedConfigurationProvider对象的RSA密钥容器具有读取权限,您将使用该密钥容器加密ASP.NET应用程序的Web.config文件的部分 这似乎意味着Web.config文件中受保护的部分将通过RSA加密,在示例XML代码中,我确实看到了以下代码 <EncryptionMethod Algorithm="http://www.w3.org/2001/04/xm

我正在通过以下链接查看MS文档:

文件规定如下:

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

这似乎意味着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" />


哪些密码用于加密哪些数据?

引自各种文档:

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

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

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

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

//加密该节。
ConnectionString.SectionInformation.ProtectSection(“RsaProtectedConfigurationProvider”);
在某些情况下,您可能需要使用RSA或DPAPI提供程序提供的算法以外的算法加密信息


TripleDES提供程序示例:

可能会为您提供更详细的信息。我只是更仔细地查看了我自己的配置,并注意到您的问题。我现在更明白你在说什么了,即使在回答了下面的问题之后。就好像“节”使用了三元组,键/值使用了rsa。@wazz by section你指的是节?所以所有被封装的东西都被TDE加密了?使用RSA加密哪些密钥/值?是否有任何文档可以证实这一点?我不能用文档来证实,它只是结果的样子,无论是连接字符串部分、应用程序设置部分、smtp部分等等。。可能必须深入研究提供者类,看看是否真的使用了两个密码。
// Encrypt the <connectionStrings> section.
connectionStrings.SectionInformation.ProtectSection("RsaProtectedConfigurationProvider");