Poiché la password di hashing è diventata di recente un argomento scottante, è naturale aspettarsi che le cose cambino e supponiamo che in qualche momento lungo la strada potresti voler sostituire / modificare l'algoritmo usato nel tuo sistema. Ciò comporterebbe naturalmente diversi tipi di hash memorizzati per vecchi e nuovi utenti.
Mi chiedo se sarebbe accettabile se avessi archiviato l'algoritmo utilizzato nel database anteposto a ciascun hash? Qualcosa di simile a come appare l'output di bcrypt: $2a$...
(la versione dell'algoritmo). Cosa succede se lo memorizzo per nome come sha1$f6238eb6ca...
?
Rende le cose notevolmente peggiori per esplicitare esplicitamente l'algoritmo usato? Sto pensando, anche se l'hacker conosce l'algoritmo esatto (di pochissimi) è più o meno lo stesso ordine di lavoro per craccarlo, x1 o x5 non è un grosso problema, lo stesso O (sforzo). Ma mi rende le cose più semplici da gestire.
Cosa ne pensano gli esperti?
Aggiornamento. Stavo pensando ad un'altra opzione come il riferimento a un particolare algoritmo di codici come alg1, alg2 e scrivere le spiegazioni di quei riferimenti da qualche altra parte, nell'applicazione, forse, per mantenere queste informazioni a portata di mano. Se la mia idea originale dovesse risultare negativa, questo approccio la correggerebbe?