Hash/Crittografia

Bcrypt Hash + Verify

Applica l'hash alle password con bcrypt (con salt casuale e costo configurabile) e verifica una password rispetto a un hash bcrypt esistente.


                    

Bcrypt is a deliberately slow password-hashing algorithm: unlike MD5 or SHA-256, it intentionally requires heavy computation so that brute-forcing passwords stays impractical even if a database of hashes leaks.

How to use it

Common uses

Things to keep in mind

Pick a cost factor that keeps hashing around 100-300ms on your target server — a balance between security and login-time load.

Bcrypt truncates passwords longer than 72 bytes — characters beyond that limit are ignored by the algorithm.

Articolo su questo strumento: Bcrypt: perché le password vengono hashate lentamente, non velocemente

Domande frequenti

Perché bcrypt include un fattore di "costo" o "rounds"?

Il fattore di costo controlla quante volte l'hashing viene ripetuto internamente, quindi l'hashing diventa esponenzialmente più lento all'aumentare del valore. Questo permette di mantenerlo deliberatamente abbastanza lento da resistere agli attacchi brute-force anche quando l'hardware diventa più veloce.

Perché l'hash bcrypt ha sempre la stessa lunghezza indipendentemente dalla mia password?

Bcrypt genera un hash di lunghezza fissa (tipicamente 60 caratteri) che codifica insieme versione dell'algoritmo, fattore di costo, salt e hash — la lunghezza non dipende da quanto è lunga o corta la password originale.

Bcrypt ha bisogno di un campo salt separato?

No. Il salt viene generato automaticamente e incorporato direttamente nella stringa di output, quindi non devi memorizzarlo o gestirlo separatamente — è sempre incluso quando verifichi una password rispetto all'hash.

C'è un limite alla lunghezza della password in bcrypt?

Sì, bcrypt elabora solo i primi 72 byte della password — tutto ciò che è più lungo viene semplicemente scartato senza avviso. In pratica questo è raramente un problema, ma vale la pena ricordarlo quando si lavora con password molto lunghe o caratteri non-ASCII, dove un carattere può occupare più byte.

Perché bcrypt è ancora consigliato se esiste Argon2?

Bcrypt è stato testato in pratica per decenni, è ampiamente supportato in tutti i linguaggi e framework e resta una scelta del tutto affidabile. Argon2 è consigliato come prioritario per i nuovi sistemi per la protezione dagli attacchi su GPU/ASIC, ma bcrypt non è considerato insicuro — solo meno resistente a hardware specializzato.

Articoli: Hash/Crittografia

Hash Generator: in cosa differiscono MD5, SHA-1 e SHA-256

Perché MD5 viene ancora usato per verificare l'integrità dei file, ma non per le password.

Checksum Verifier: come verificare che un file non sia danneggiato

Perché un checksum corrispondente conferma l'integrità di un file, ma non chi lo ha creato.

HMAC: in cosa differisce un hash con chiave da un hash normale

Perché un semplice SHA-256 non protegge dalla manomissione di un messaggio, ma HMAC sì.

UUID: come vengono generati identificatori che quasi non si ripetono mai

Perché un UUID v4 può essere generato in modo indipendente su milioni di macchine senza rischio di collisione.

Generatore di password: cosa rende davvero forte una password

Perché una password lunga fatta di parole del dizionario è più forte di una corta con simboli e numeri.

AES: come funziona la crittografia simmetrica

Perché la stessa chiave cifra e decifra i dati in AES, e come questo differisce dalla crittografia asimmetrica.

Argon2: perché questo algoritmo ha vinto il concorso sull'hashing delle password

Come Argon2 si difende meglio dagli attacchi con GPU rispetto agli algoritmi di hashing password più vecchi.

Scrypt: perché l'algoritmo ha bisogno di così tanta memoria

Perché scrypt richiede deliberatamente molta memoria per rendere più difficile il cracking su dispositivi ASIC.

TOTP: come funzionano i codici monouso nelle app di autenticazione

Perché il codice di Google Authenticator funziona senza internet e si sincronizza col server solo tramite l'ora.

PBKDF2: lo standard più vecchio per lo stretching delle chiavi

Perché il numero di iterazioni raccomandato per PBKDF2 cresce ogni anno.

X.509: cosa c'è dentro un certificato SSL

Cosa controlla esattamente il browser nel certificato di un sito prima di mostrare il lucchetto verde.

PGP: come funziona la crittografia a chiave pubblica e privata

Perché si può condividere liberamente una chiave pubblica PGP, ma mai quella privata.