ProtectedData.Unprotect (DPAPI) перестает работать после смены пароля
предположим, я зашифрую данные и запишу их в такой файл:
byte[] encrypted =
ProtectedData.Protect(plain, null, DataProtectionScope.CurrentUser);
File.WriteAllBytes(filename, encrypted);
расшифровка так же проста:
byte[] encrypted = File.ReadAllBytes(filename);
byte[] decrypted =
ProtectedData.Unprotect(encrypted, null, DataProtectionScope.CurrentUser);
теперь, когда я меняю пароль windows между вызовами для защиты и Unprotect, Unprotect выдаст исключение. Я хочу, чтобы зашифрованные данные были связаны с моей учетной записью пользователя, но я также хочу, чтобы он пережил изменения пароля.
Я думаю, что я должен передать данные в Windows, а не записывать их в свой собственный файл, так что Windows может повторно зашифровать его при изменении пароля. Я просто не могу найти документацию, которая рассказывает мне, как. Кто-нибудь знает?
1 ответов
Как изменить пароль? Используя обычную процедуру и указав старый пароль, следует работать с ProtectedData
, при установке нового пароля под управлением компьютера не будет.