Password Bcrypt Generatore
Genera istantaneamente hash di password bcrypt sicuri nel tuo browser. Scegli il fattore di costo e l'hash delle password lato client: completamente privato e gratuito.
Genera istantaneamente hash di password bcrypt sicuri nel tuo browser. Scegli il fattore di costo e l'hash delle password lato client: completamente privato e gratuito.
bcrypt è una funzione di hashing delle password progettata da Niels Provos e David Mazières nel 1999, derivata dal cifrario Blowfish. A differenza delle funzioni di hash generiche come SHA-256, bcrypt è deliberatamente lento (e configurabile lentamente, tramite un parametro di costo) che è esattamente la proprietà di cui ha bisogno un hash di password. Una funzione hash più veloce consente agli aggressori di forzare più candidati al secondo; uno più lento li limita.
bcrypt incorpora automaticamente anche il sale per password, eliminando un'intera classe di attacchi basati su tabelle arcobaleno precalcolate. I parametri salt e cost vengono archiviati come parte dell'output di bcrypt, quindi la verifica richiede solo l'hash archiviato e la password candidata, senza una gestione salt separata. Questa combinazione di lentezza, salt e formato autonomo ha reso bcrypt l'hash della password predefinito per due decenni e una scelta forte oggi.
Esistono alternative moderne. Argon2 ha vinto il concorso Password Hashing 2015 e offre durezza della memoria oltre alla durezza del tempo. scrypt offre proprietà simili. Per i nuovi progetti, Argon2id è la scelta consigliata. bcrypt rimane accettabile e ampiamente utilizzato, in particolare negli ambienti in cui Argon2 non è disponibile.
Memorizzare le password come testo normale è una pratica negligente. Memorizzarli con un hash veloce come SHA-256 è appena migliore: le GPU moderne calcolano miliardi di hash SHA-256 al secondo, rendendo possibili attacchi di forza bruta contro qualsiasi password comune in poche ore. La lentezza deliberata di bcrypt sposta l'economia: con un fattore di costo 12, un utente malintenzionato spende circa 250 ms per ogni password candidata, rendendo la forza bruta impraticabile per qualsiasi password non banale.
Il salt automatico per password di bcrypt sconfigge anche gli attacchi Rainbow Table. Due utenti con la stessa password producono hash bcrypt diversi perché i loro salt differiscono. La compromissione del database delle password non consente a un utente malintenzionato di identificare rapidamente le password comuni o i risultati della tabella precalcolata.
Digita una password, scegli il costo, ottieni l'hash.
bcrypt utilizza una fase di impostazione della chiave del codice Blowfish modificata, ripetuta 2 volte. Il fattore costo è logaritmico: il costo 12 è due volte più lento del costo 11, quattro volte più lento del costo 10. Questo ridimensionamento logaritmico consente agli amministratori di aumentare i costi nel tempo man mano che l'hardware migliora, senza riprogettare il sistema.
Il formato di output è $version$cost$saltAndHash dove saltAndHash è codificato in base64 con un alfabeto personalizzato. La versione è in genere $2b$ (la variante moderna con il bug avvolgente risolto) o $2y$ (specifico per PHP, equivalente). Il sale è di 16 byte; l'hash è di 24 byte; insieme codificano in 53 caratteri di custom-base64.
La lunghezza massima dell'input è 72 byte (limite di lunghezza della chiave Blowfish). Le password più lunghe vengono troncate silenziosamente, il che è una stranezza di Bcrypt di vecchia data. La procedura migliore consiste nel limitare la lunghezza della password a 72 byte o nel pre-hash con SHA-256 per normalizzare la lunghezza prima di bcrypt.