Для шифрования / дешифрования данных, записываемых в текстовые файлы, я стараюсь использовать методы 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
единица, и отличается ли это тем, что данные, зашифрованные любым пользователем, могут быть расшифрованы любым другим пользователем, работающим на том же компьютере?Или, может быть, есть какие-то дополнительные особенности?