Sto trovando sorprendentemente poche informazioni sulla conversione di un database esistente da password crittografate a password Hashed. (Sono stato in grado di trovare un po 'più di informazioni sulla conversione in altro modo, ma non è stato di grande aiuto.)Modifica passwordFormat da crittografato a Hashed
Come molti sanno, la modifica dell'impostazione passwordFormat
in web.config riguarda solo i nuovi utenti. Ho un database con un paio di centinaia di utenti e mi piacerebbe convertirli per utilizzare le password con hash senza modificare quelle esistenti.
Qualcun altro ha familiarità con come ci si potrebbe avvicinare a questo? Grazie per eventuali suggerimenti.
Attualmente sto cercando di aggiornare le password di testo in chiaro alle password crittografate. Li voglio hash ma il client no. Ad ogni modo, questa soluzione sembra promettente. Molto elegante nella sua semplicità. Spero funzioni. – mikesigs
Ho funzionato, ma i caveat erano troppo da sopportare. Prima di tutto, non puoi semplicemente chiamare ChangePassword sul provider con hash perché devi fornire la password esistente (che tenta di hash per confrontare il valore db che non è hash). Quindi devi chiamare ResetPassword per ottenere una password hash temporanea per chiamare ChangePassword. La performance è l'assassino. È necessario recuperare ciascun utente di appartenenza, quindi chiamare GetPassword, ResetPassword e ChangePassword per ciascuno. Oltre 3 * N colpi sul db! L'ho concluso in una transazione e ho esaurito rapidamente il mio conn pool. – mikesigs
Esaminerò una procedura memorizzata CLR in modo da poter chiamare i meccanismi di crittografia del provider da SQL. Pubblicherò di nuovo se funziona. – mikesigs