我使用System.Security.Cryptography.ProtectedData保护许可证数据,然后再将其写入注册表。

ProtectData.Protect(Byte[], Byte[], DataProtectionScope.LocalMachine)


数据保护范围是LocalMachine。

ProtectData用于加密字符串的参数是什么?
如果我将加密的字符串复制到另一台机器上,它将起作用吗?

一些用户正在报告许可问题,ProtectedData是否一致?

最佳答案

在LocalMachine范围内,受保护的数据与计算机上下文关联。计算机上运行的任何进程都可以取消保护数据。此枚举值通常在不允许不受信任的用户访问的服务器上运行的特定于服务器的应用程序中使用。

警告LocalMachine枚举值允许多个帐户取消保护数据。仅当您信任计算机上的每个帐户时,才使用此值。在大多数情况下,应使用CurrentUser值。

加密的数据只能在加密的同一台计算机上解密。

DPAPI使用MasterKey(512位随机数据​​)来生成用于加密和解密的会话密钥。这意味着在重新安装操作系统之前,它将保持不变。

https://msdn.microsoft.com/en-us/library/ms995355.aspx

关于c# - System.Security.Cryptography.ProtectedData如何生成唯一ID,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/30694589/

10-11 21:42