Verificare se la nuova password è già stata precedentemente usata.

di il
2 risposte

Verificare se la nuova password è già stata precedentemente usata.

Ciao Carissimi,

ho un progetto web in cui utilizzo Microsoft Aspnet Identity versione 2.1

ora devo implementare un meccanismo che costringe gli utenti a non utilizzare

una password precedentemente utilizzata nelle ultime 10 volte.

Le password in uso, è criptata nel db, quindi non posso fare un confronto in una eventuale tavola

contenete le password precedentemente usate.

Come posso risolvere ? Avete qualche esempio ?

Ciao e grazie...

2 Risposte

  • Re: Verificare se la nuova password è già stata precedentemente usata.

    Una stessa password viene criptata sempre nello stesso modo?
  • Re: Verificare se la nuova password è già stata precedentemente usata.

    E' abbastanza semplice.
    1) Devi avere una tabella con lo storico degli HASH delle password con un job che le elimina dalla undicesima in poi in modo da non trattare dati che non ti servono
    2) Questione HASH: ti consiglio di usare: PBKDF2 ("Password-Based Key Derivation Function 2") con SALT random e almeno 50k iterazioni. Ovviamente salverai nel database SALT e HASH (puoi usare due campi separati o un unico campo separando i due dati con il classico "&")
    3) Implementi il classico metodo ValidatePassword (banalmente fai l'hashing della password da testare utilizzando il SALT nello storico) e confronti il risultato. Dovrai ripetere il test per tutti gli HASH storicizzati dell'utente
Devi accedere o registrarti per scrivere nel forum
2 risposte