C# 在ASP.NET Core 3.1 framework中使用IDataProtectionProvider时,如何指定加密密钥?
我有一个项目是用ASP.NET Core 3.1框架顶部的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参数。” 从主要文件中- 它看起来像这样。() 假设您以正确的方式使用
C
编写的
我需要在存储某些数据之前对其进行加密。当读取相同的数据时,我想解密它。我找到了一种使用IDataProtectionProvider
的方法。但是,加密密钥似乎存储在本地计算机上
我如何控制钥匙的存放位置?另外,是否有方法控制键应该是什么?“使用IDataProtectionProvider的组件必须向CreateProtector方法传递唯一的purposes参数。”
从主要文件中-
它看起来像这样。()
假设您以正确的方式使用IDataProtectionProvider,则目的字符串由您控制。你把它放在你的项目中
对于一个简单的例子,您可以在自己的项目中保留该字符串,以便随时可以使用该目的字符串。当然,这不是你理想中想要的
对于更真实的场景,您可以考虑下列任何选项来正确地存储和检索您的用途键。
- 使用AzureKeyVault保护密钥
- 持久密钥文件系统
_protectorTest = provider.CreateProtector("TestProtector");