Ho un'applicazione con un database utente. Il database memorizza la password utilizzando un hash bcrypt con un sale randomizzato.
Come posso implementare un set di cronologia delle password (per impedire il riutilizzo della password) in un caso come questo?
Se ho il classico reset di password a 3 campi (inserisci corrente, inserisci nuovo, conferma nuovo), potrei memorizzare quello corrente mentre sostituisco il vecchio con il nuovo. Tuttavia, allora ho il caso di una password dimenticata. I miei utenti potrebbero fare un reset automatico self-service e riutilizzare le loro password più e più volte.
Le password memorizzate dovrebbero essere crittografate, ma con crittografia reversibile che le rende meno sicure.