Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/csharp/284.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
C# 在ASP.NET Core 3.1 framework中使用IDataProtectionProvider时,如何指定加密密钥?_C#_Asp.net Core_Encryption_Asp.net Core 3.1 - Fatal编程技术网

C# 在ASP.NET Core 3.1 framework中使用IDataProtectionProvider时,如何指定加密密钥?

C# 在ASP.NET Core 3.1 framework中使用IDataProtectionProvider时,如何指定加密密钥?,c#,asp.net-core,encryption,asp.net-core-3.1,C#,Asp.net Core,Encryption,Asp.net Core 3.1,我有一个项目是用ASP.NET Core 3.1框架顶部的C编写的 我需要在存储某些数据之前对其进行加密。当读取相同的数据时,我想解密它。我找到了一种使用IDataProtectionProvider的方法。但是,加密密钥似乎存储在本地计算机上 我如何控制钥匙的存放位置?另外,是否有方法控制键应该是什么?“使用IDataProtectionProvider的组件必须向CreateProtector方法传递唯一的purposes参数。” 从主要文件中- 它看起来像这样。() 假设您以正确的方式使用

我有一个项目是用ASP.NET Core 3.1框架顶部的
C
编写的

我需要在存储某些数据之前对其进行加密。当读取相同的数据时,我想解密它。我找到了一种使用
IDataProtectionProvider
的方法。但是,加密密钥似乎存储在本地计算机上

我如何控制钥匙的存放位置?另外,是否有方法控制键应该是什么?

“使用IDataProtectionProvider的组件必须向CreateProtector方法传递唯一的purposes参数。”

从主要文件中-

它看起来像这样。()

假设您以正确的方式使用IDataProtectionProvider,则目的字符串由您控制。你把它放在你的项目中

对于一个简单的例子,您可以在自己的项目中保留该字符串,以便随时可以使用该目的字符串。当然,这不是你理想中想要的

对于更真实的场景,您可以考虑下列任何选项来正确地存储和检索您的用途键。

  • 使用AzureKeyVault保护密钥
  • 持久密钥文件系统
更多详情请参阅-

_protectorTest = provider.CreateProtector("TestProtector");