对于使用txt文件编写的数据的加密/解密,我尝试使用System.Security.Cryptography.ProtectedData.Protect
和Unprotect
方法。这些方法的一个参数是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);
我的问题是关于CurrentUser
和LocalMachine
DataProtectionScopes之间的差异。
LocalMachine
DataProtectionScope的限制是否比CurrentUser
更少,不同之处在于,任何用户加密的数据都可以由在同一台计算机上工作的任何其他用户解密?或者可能还有一些其他细节?
答案 0 :(得分:2)
CurrentUser范围存储仅当前记录的用户将能够检索数据的加密密钥。另一方面,LocalMachine范围允许同一台计算机上的任何帐户访问文件但拒绝远程访问。使用哪一个取决于您的需求。