Verifica di un hash Argon2 | Confronta una password con l'hash codificato
Inserite una password e un hash Argon2 già codificato ($argon2id$…) per verificare se corrispondono. Il calcolo avviene interamente nel browser e il contenuto inserito non viene inviato a un server.
Consigli per la verifica di un hash Argon2
- Per la verifica incollate così com'è l'hash codificato — la stringa che inizia con $argon2id$ — generato con lo strumento di calcolo dell'hash Argon2.
- L'hash codificato contiene già variante, costo in memoria, iterazioni e sale, quindi in fase di verifica non serve indicare separatamente questi parametri.
- Se il formato non è valido — per una copia incompleta o per un a capo di troppo — compare un messaggio di errore. Verificate di aver copiato l'intera stringa.
- Se il risultato è negativo, controllate che nella password non si siano introdotti maiuscole o minuscole diverse né spazi iniziali o finali indesiderati.
Domande frequenti
A proposito — perché per verificare una password basta confrontare gli hash
Verificare una password sembra a prima vista un'operazione di confronto diretto fra la password memorizzata e quella digitata, ma in realtà il meccanismo è tutt'altro. Il server — o, come in questo strumento, l'elaborazione lato client — ricalcola l'hash della password inserita con lo stesso algoritmo e lo stesso sale usati al momento del salvataggio e si limita a verificare se il risultato coincide con l'hash conservato. La password originale non entra mai nel confronto: è il grande vantaggio di questo approccio.
Tutto ciò funziona perché funzioni come Argon2 sono «deterministiche»: a parità di input, sale e parametri restituiscono sempre lo stesso output. Nella stringa dell'hash codificato — nella forma $argon2id$v=19$m=…$sale$hash — sono incorporati sia il sale sia i parametri usati nel calcolo, quindi non serve indicarli di nuovo: il solo hash basta a ricostruire integralmente il calcolo.
È grazie a queste due proprietà — l'unidirezionalità, per cui dall'hash non si risale alla password, e il determinismo, per cui lo stesso input dà lo stesso output — che chi gestisce un servizio può verificare gli accessi in sicurezza senza conservare alcuna password in chiaro. Anche in caso di violazione della banca dati, l'attaccante ottiene soltanto gli hash e, con un algoritmo costoso come Argon2, un attacco a forza bruta per ricostruire le password richiederebbe tempi lunghissimi.