如何使用AES而不是3DES加密web.config

时间:2018-02-05 06:35:39

标签: c# asp.net asp.net-mvc encryption cryptography

我目前正在尝试使用aspnet_regiis来加密web.config文件。虽然它使用RSA加密密钥,但加密web.config文件的加密方法是3DES,NIST不再推荐使用。那么,有没有人知道如何使用AES加密web.config文件?奖金,如果可能的话,我如何设置密钥大小(例如,128,256 ... 2048位)?

我查看了以下链接及其随附链接但没有成功:

Change Microsoft Config File Encryption Method From TripleDES

RSACryptoServiceProvider and Web.config encryption

1 个答案:

答案 0 :(得分:1)

默认情况下,asp.net提供两个提供程序:

  

RSAProtectedConfigurationProvider

     

DPAPIProtectedConfigurationProvider

如果您不能使用另一个,则必须实施自定义提供程序。

然后,注册您的提供者:

<providers>
  <add keyContainerName="CustomKeys" 
           useMachineContainer="true"
           description="My custom provider"
           name="CustomProvider" type="MyApp.MyCustomProtectedConfigurationProvider" />
  </providers>

并使用它:

aspnet_regiis -pe "connectionStrings" -app "/MyApp" -prov "CustomProvider"

This链接有一个如何实现配置提供程序的示例。