Я пытаюсь зашифровать и расшифровать некоторые данные текстового файла, используя метод .NET ProtectedData.Protect.Я хотел бы иметь возможность зашифровать текст (и сохранить его в файл) на одном компьютере и расшифровать текст на другом компьютере.Машины находятся в одном и том же домене и работают под одной и той же службой под одним и тем же именем пользователя, поэтому я подумал, что использование DataProtectionScope.CurrentUser позволит любой службе зашифровать и расшифровать файл.
Когда служба номер два пытается расшифроватьфайл, он выдает «ключ недопустим для использования в указанном состоянии».Другие сайты предполагают, что такого рода проблемы возникают, когда олицетворение выполняется неправильно, но нет олицетворения.Обе службы работают под одной учетной записью AD.Мне кажется, что службы используют разные ключи для шифрования данных, но я не знаю, почему это происходит, поскольку они работают под одной учетной записью.
Кто-нибудь еще сталкивался с такой проблемой?
Код, который я использую для шифрования и дешифрования, в основном:
byte[] bytes = Encoding.Unicode.GetBytes(password);
byte[] protectedPassword = ProtectedData.Protect(bytes, null, DataProtectionScope.CurrentUser);
return Convert.ToBase64String(protectedPassword); //then I write this to a file
Спасибо!