DevToolPal
IT

Generatore e verifica hash bcrypt

Calcola l’hash bcrypt di una password con il costo scelto oppure verifica se una password corrisponde a un hash bcrypt.

Eseguito in locale, mai caricato

Opzioni

Modalità

Password

Risultato

Il risultato apparirà qui

Cosa fa

bcrypt è una funzione di hash per password progettata per essere lenta. A differenza di MD5 o SHA-256, calcolabili miliardi di volte al secondo, bcrypt ha un costo configurabile che rende costoso ogni tentativo per chi ruba il tuo database. Insieme ad Argon2 e scrypt è ancora una delle scelte più diffuse per conservare le password.

Questo strumento fa due cose:

  • Genera hash: trasforma una password in un hash bcrypt con il costo e il prefisso di versione scelti.
  • Verifica: controlla se una password corrisponde a un hash bcrypt esistente, per esempio del tuo database o del file di seed di un framework.

Come si usa

  1. Digita una Password o fai clic su Esempio.
  2. In modalità Genera hash scegli Costo e Versione. L’hash compare subito; fai clic su Nuovo salt per ottenerne un altro.
  3. In modalità Verifica incolla l’Hash bcrypt da verificare. Il risultato indica se la password corrisponde.

Leggere un hash bcrypt

Un hash come $2b$10$./3kakECWB0QfIgYzIqciuv449HNnwGbgExtJQQwQ1MofonthOdoK ha quattro parti: la versione 2b, il costo 10 (2¹⁰ round di preparazione della chiave), un salt di 22 caratteri e un checksum di 31 caratteri. Tutto ciò che serve al server per verificare in seguito la password è in questa stringa, quindi conservi solo l’hash.

Limiti da conoscere

bcrypt legge solo i primi 72 byte di una password. Le password più lunghe, o con molti caratteri non ASCII (2–4 byte ciascuno in UTF-8), vengono troncate senza avviso. Lo strumento ti avverte quando succede. Se devi accettare passphrase molto lunghe, applica prima un pre-hash o valuta Argon2id.

Domande frequenti

› Perché la stessa password produce ogni volta un hash diverso?

Ogni hash usa un nuovo salt casuale di 16 byte, salvato dentro l’hash stesso. È voluto: password uguali non producono hash uguali. Per controllare una password usa Verifica invece di confrontare le stringhe degli hash.

› Che costo conviene usare?

Scegli il costo più alto che il server può permettersi a ogni accesso, oggi di solito tra 10 e 12. Ogni passo raddoppia il lavoro. Misura sull’hardware di produzione; 100–300 ms per hash è un obiettivo comune.

› Che differenza c’è tra $2a$, $2b$ e $2y$?

È lo stesso algoritmo. $2b$ è il prefisso attuale di OpenBSD, $2y$ è quello scritto da password_hash di PHP e $2a$ è il più vecchio. La maggior parte delle librerie li accetta tutti e tre: scegli quello che il tuo sistema si aspetta.

› La mia password viene inviata da qualche parte?

No. Hash e verifica avvengono nel browser. La password e l’hash controllato restano solo nella memoria di questa pagina; non vengono salvati né aggiunti ai link di condivisione.