当使用ProtectedData.Protect时

本文关键字:Protect ProtectedData | 更新日期: 2023-09-27 18:02:12

对于写入txt文件的数据的加密/解密,我尝试使用System.Security.Cryptography.ProtectedData.ProtectUnprotect方法。这些方法的参数之一是DataProtectionScope。例如:

byte[] encryptedData = ProtectedData.Protect(data, addEntropy, DataProtectionScope.CurrentUser);
...
byte[] decryptedData = ProtectedData.Unprotect(data, addEntropy, DataProtectionScope.CurrentUser);

byte[] encryptedData = ProtectedData.Protect(data, addEntropy, DataProtectionScope.LocalMachine);
...
byte[] decryptedData = ProtectedData.Unprotect(data, addEntropy, DataProtectionScope.LocalMachine);

我的问题是关于CurrentUserLocalMachine DataProtectionScopes之间的差异。LocalMachine DataProtectionScope是否比CurrentUser限制性更少,不同之处在于,由任何用户加密的数据可以由在同一台计算机上工作的任何其他用户解密?或者可能有一些额外的细节?

当使用ProtectedData.Protect时

CurrentUser作用域存储只有当前登录的用户才能检索数据的加密密钥。另一方面,LocalMachine作用域允许同一台计算机上的任何帐户访问文件,但拒绝远程访问。使用哪一个取决于你的需要