La guida completa all'hashing delle password Bcrypt e alla sicurezza dell'hashing
Per gli sviluppatori web, gli amministratori di database e gli ingegneri della sicurezza, archiviare in modo sicuro le password degli utenti è il requisito di sicurezza back-end più importante. Salvare le password in testo normale è un grave errore di sicurezza. Anche l'utilizzo di algoritmi di hashing rapidi come MD5, SHA-256 o SHA-512 lascia il tuo database utente vulnerabile al cracking di forza bruta offline se il tuo server viene violato.
Bcrypt rimane l'algoritmo di hashing delle password standard del settore, progettato specificamente per resistere agli attacchi di accelerazione hardware. Il nostro generatore di hash Bcrypt ti consente di generare, analizzare e verificare istantaneamente gli hash Bcrypt nel tuo browser.
La crittografia dietro Bcrypt: perché la lentezza è una caratteristica di sicurezza
La maggior parte degli algoritmi di hashing (come MD5 e SHA-256) sono stati progettati per la velocità, consentendo ai sistemi di verificare file di grandi dimensioni o controlli di integrità in microsecondi. Tuttavia, se applicata alle password, questa velocità diventa un enorme ostacolo. Un moderno cluster GPU può testare miliardi di hash SHA-256 al secondo, decifrando semplici password utente in pochi minuti.
Bcrypt ha risolto questa vulnerabilità introducendo un fattore di lavoro adattivo (parametro di costo) basato sul cifrario a blocchi Blowfish:
- Lentezza adattiva: ogni aumento del parametro del fattore di costo raddoppia le risorse computazionali necessarie per generare un hash.
- Generazione di sale: Bcrypt antepone automaticamente un sale univoco e crittograficamente casuale a ogni password prima dell'hashing. Ciò rende le tabelle arcobaleno (directory hash precalcolate) completamente inutili.
- Ottimizzazione del fattore di lavoro: man mano che le CPU dei server e le schede grafiche diventano più veloci, gli sviluppatori possono aumentare il fattore di costo per mantenere gli attacchi di forza bruta costosi dal punto di vista computazionale, mantenendo al contempo rapida la verifica per gli utenti autentici.
Tutorial passo passo: come generare e verificare gli hash Bcrypt
- Inserisci password grezza: digita la stringa della password di destinazione nella finestra del generatore.
- Seleziona fattore di costo (cicli): scegli il fattore di lavoro desiderato. Lo standard del settore è 12 round, che richiede circa 300 ms sui processori moderni: equilibrio tra esperienza utente e protezione dalla forza bruta.
- Esegui hashing: fai clic su Genera hash Bcrypt per compilare immediatamente la stringa hash.
- Verifica corrispondenze: per verificare se una password corrisponde a un hash esistente, vai alla scheda Verifica, incolla entrambe le stringhe ed esegui la convalida.
Matrice di sicurezza dell'hashing: Bcrypt, MD5, SHA-256 e Argon2
Come analizzare una stringa hash Bcrypt
Un hash Bcrypt generato segue un formato rigoroso di 60 caratteri:
$2b$12$LQv3c1yqBWVHxkd0LHAkCOYz6TtxMQJqhN8/LewdBPj/nEwFvF2Wy
Scomposizione dei componenti:
$2b$: identifica la versione specifica dell'algoritmo Bcrypt utilizzata.$12$: identifica il parametro di costo (2^12 = 4.096 iterazioni).$LQv3c1yqBWVHxkd0LHAkCO: la porzione di sale di 22 caratteri.Yz6TtxMQJqhN8/LewdBPj/nEwFvF2Wy: il valore hash Blowfish di 31 caratteri.