Generatore Bcrypt
Genera e verifica hash password bcrypt online. Fattore di costo regolabile, salt integrato, anteprima hash in tempo reale. Tutta l'elaborazione viene eseguita localmente nel tuo browser.
Cos'è bcrypt?
Bcrypt è una funzione di hash delle password progettata da Niels Provos e David Mazières, basata sul cifrario Blowfish. È progettata specificamente per l'archiviazione sicura delle password ed è uno degli algoritmi di hash più utilizzati al mondo.
Come funziona bcrypt?
Bcrypt prende una password e un salt come input, quindi esegue un costoso processo di configurazione della chiave (Eksblowfish) che produce un hash di lunghezza fissa. L'hash include l'identificatore dell'algoritmo, il fattore di costo, il salt e il valore hash effettivo.
Cos'è il fattore di costo in bcrypt?
Il fattore di costo è un numero da 4 a 31 che determina quante iterazioni della configurazione della chiave vengono eseguite. Ogni incremento raddoppia il tempo di calcolo. Un costo di 10 significa 2^10 = 1024 iterazioni. I valori raccomandati sono 10-12 per la maggior parte delle applicazioni.
Cos'è un salt e perché è importante?
Un salt è un valore casuale di 128 bit univoco per ogni hash di password. Impedisce agli attaccanti di utilizzare tabelle arcobaleno precalcolate e garantisce che password identiche producano hash diversi. Bcrypt genera automaticamente il salt e lo incorpora nell'hash.
Bcrypt è ancora sicuro nel 2025?
Sì, bcrypt rimane uno degli algoritmi di hash delle password raccomandati. Sebbene esistano algoritmi più recenti come Argon2, bcrypt è considerato sicuro quando utilizzato con un fattore di costo appropriato (12 o superiore).
Qual è la lunghezza massima della password per bcrypt?
Bcrypt ha una lunghezza massima di input di 72 byte. Le password superiori a 72 byte vengono troncate silenziosamente. Per password più lunghe, considera il pre-hashing con SHA-256 prima di applicare bcrypt.
Come si confronta bcrypt con MD5, SHA-256 e altre funzioni hash?
A differenza di MD5 e SHA-256 progettati per la velocità, bcrypt è intenzionalmente lento e computazionalmente costoso. Le funzioni hash generiche possono essere calcolate miliardi di volte al secondo, rendendole vulnerabili agli attacchi brute-force.
Qual è il formato dell'hash bcrypt?
Un hash bcrypt segue il formato: $2b$cost$salt+hash. Esempio: $2b$10$N9qo8uLOickgx2ZMRZoMyeIjZAgcfl7p92ldGxad68LJZdL17lhWy. Il prefisso $2b$ identifica la versione dell'algoritmo, seguito dal fattore di costo, salt di 22 caratteri e hash di 31 caratteri.
Qual è la differenza tra $2a$, $2b$ e $2y$?
Sono identificatori di versione di bcrypt. $2a$ è la versione originale, $2b$ corregge un problema minore con la gestione della lunghezza della password in OpenBSD, e $2y$ è la variante specifica per PHP.
È sicuro usare un generatore bcrypt online?
Quando l'elaborazione viene eseguita interamente nel tuo browser (lato client), è completamente sicuro. Nessun dato della password viene trasmesso a nessun server. Questo strumento elabora tutto localmente usando JavaScript.
Come scegliere il fattore di costo corretto?
Il fattore di costo dovrebbe essere il più alto possibile mantenendo la generazione dell'hash accettabilmente veloce. Una buona regola: scegli il costo in cui l'hashing richiede circa 250-500ms sul tuo server.
Bcrypt può essere usato per crittografare dati?
No, bcrypt è una funzione hash unidirezionale, non un algoritmo di crittografia. Non può essere invertito per recuperare la password originale. È progettato esclusivamente per la verifica delle password.
Perché bcrypt è lento per progettazione?
Bcrypt è intenzionalmente lento per rendere gli attacchi brute-force e a dizionario computazionalmente costosi. Mentre una normale funzione hash può elaborare milioni di password al secondo, bcrypt ne elabora solo alcune centinaia.
Come verifico una password rispetto a un hash bcrypt?
Per verificare, estrai il salt e il fattore di costo dall'hash memorizzato, esegui bcrypt con gli stessi parametri sulla password di input e confronta l'hash risultante con l'hash memorizzato. Se corrispondono, la password è corretta.