Supponiamo che io crittografare i dati e scrivere in un file in questo modo:ProtectedData.Unprotect (DPAPI) smette di funzionare dopo la modifica della password
byte[] encrypted =
ProtectedData.Protect(plain, null, DataProtectionScope.CurrentUser);
File.WriteAllBytes(filename, encrypted);
decrittografia è così semplice:
byte[] encrypted = File.ReadAllBytes(filename);
byte[] decrypted =
ProtectedData.Unprotect(encrypted, null, DataProtectionScope.CurrentUser);
Ora quando cambio la mia password di windows tra le chiamate a Protect e Unprotect, Unprotect genererà un'eccezione. Voglio che i dati crittografati siano collegati al mio account utente, ma voglio anche che sopravviva alle modifiche della password.
Suppongo di dover passare i dati a Windows invece di scriverli sul mio file, in modo che Windows possa ricodificarlo nuovamente con le modifiche della password. Non riesco a trovare la documentazione che mi dice come. Qualcuno sa?
È stato veloce! Grazie amico, questo era il problema. Se lascio che l'utente cambi la propria password, funziona. –
Rapido D se ho ripristinato la password dell'account, quindi in seguito la reimposta nuovamente alla sua vecchia password, Unprotect potrebbe ricominciare a funzionare? – Shane
La finestra di dialogo indica la perdita inversa, quindi non funzionerebbe. – sisve