Bcrypt è una funzione di hashing delle password progettata per essere lenta e computazionalmente costosa, rendendola resistente agli attacchi brute-force. È lo standard industriale per l'archiviazione sicura delle password.
Come funziona Bcrypt
Bcrypt utilizza il cifrario Blowfish con un salt e un fattore di costo. Il fattore di costo (round) determina quante iterazioni esegue l'algoritmo - ogni incremento raddoppia il tempo di calcolo, rendendo gli attacchi esponenzialmente più difficili.
Perché usare Bcrypt?
A differenza di MD5/SHA che sono veloci (male per le password), bcrypt è intenzionalmente lento. Questo rende gli attacchi brute-force impraticabili. Un costo di 10 significa 2^10 (1.024) iterazioni, che richiedono ~100ms per l'hash - trascurabile per il login ma devastante per gli attaccanti che provano miliardi di password.
Migliori pratiche di sicurezza
Usa costo 10-12 per la maggior parte delle applicazioni. Costo 10 è l'attuale minimo consigliato. Non usare mai MD5 o SHA-1 per le password - sono stati violati. Non archiviare mai password in chiaro. Usa sempre bcrypt, Argon2 o scrypt per l'hashing delle password.