Torna agli strumenti

Generatore e verificatore di hash Bcrypt

Trasforma una password in un hash bcrypt $2b$, oppure verifica una password rispetto a un hash che hai già. L'hashing viene eseguito in un Web Worker all'interno del tuo browser — nulla di ciò che digiti viene inviato altrove.

Input

Password e cost

Per ogni hash viene generato un nuovo salt di 16 byte, quindi la stessa password produce un hash diverso ogni volta. Questo è lo scopo di un salt, non un bug.

10
4 · veloce14 · lento

Cost 10 significa 2^10 = 1,024 round di key-setup. Ogni passo in più raddoppia il lavoro — sia per chi sta forzando un file di password rubato, sia per il tuo stesso server a ogni singolo login. La maggior parte dei sistemi in produzione si colloca tra 10 e 12.

I tre prefissi producono byte hash identici per password sotto i 72 byte; cambia solo l'etichetta. Il crypt() incluso in PHP non riconosce $2b$, quindi un hash $2b$ farà fallire silenziosamente password_verify(). Scegli $2y$ per PHP.

L'hashing viene eseguito in un Web Worker all'interno di questa scheda. La password non viene mai inviata a Wespner o a chiunque altro — non c'è alcuna richiesta che la invii.

Risultato

hash bcrypt

Premi “Genera hash”.

Costo, misurato qui

Cosa ti costa questa impostazione

Stima: un hash viene cronometrato in questa scheda a cost 8 e ogni altro cost viene estrapolato raddoppiando. È il tuo hardware e il tuo browser a decidere il numero.

Un controllo qui
misurazione in corso…
Tentativi al secondo
lista da 14,344,391 parole

Quei numeri sono per un solo thread JavaScript. Un vero aggressore esegue codice nativo su un rack di GPU ed è ordini di grandezza più veloce — è proprio questo divario il motivo per cui il cost factor deve essere scomodo invece che comodo. Lo stesso slider decide anche quanta CPU consuma ogni tuo login.

Lettura della stringa

Cosa significano i 60 caratteri

$2b$12$LQv3c1yqBWVHxkd0LHAkCOYUtYgBuLIjrsGrDUgYqZbY7d0RfPbtq

versione
$2b$
cost
12 → 2^12 = 4,096 round
salt (22)
LQv3c1yqBWVHxkd0LHAkCO
hash (31)
YUtYgBuLIjrsGrDUgYqZbY7d0RfPbtq

Entrambi i blocchi usano l'alfabeto base64 proprio di bcrypt, che inizia con ./ e mette le cifre per ultime — non è base64 standard, e decodificarlo come tale dà i byte sbagliati. Questo, più la suddivisione 22/31, è un modo rapido per verificare che una stringa sia davvero un hash bcrypt e non qualcosa che gli somiglia soltanto.

Scegliere un algoritmo

bcrypt, scrypt o Argon2?

Questo strumento è volutamente solo bcrypt. Ecco quando è la scelta giusta e quando non lo è.

bcrypt
Intensivo su CPU, 1999

Lento per progettazione, ma sfrutta solo tempo di CPU e 4 KB fissi di memoria. GPU e FPGA lo parallelizzano molto meglio rispetto ai design più recenti. Resta comunque una scelta rispettabile, è supportato letteralmente ovunque, e il suo limite di 72 byte per la password è il suo aspetto più sorprendente.

scrypt
Intensivo su memoria, 2009

Aggiunge un costo di memoria regolabile, quindi un aggressore ha bisogno di RAM per ogni tentativo, non solo di core. Più difficile da parallelizzare a basso costo rispetto a bcrypt.

Argon2id
Raccomandazione attuale

Vincitore della Password Hashing Competition del 2015 e ciò che OWASP consiglia ora per i nuovi sistemi: parametri separati per tempo, memoria e parallelismo, con la variante id che resiste sia ad attacchi GPU sia a side-channel. Se stai partendo da zero e la tua piattaforma lo supporta, usalo. Se mantieni qualcosa che già memorizza hash $2y$, bcrypt con un cost sensato non è un'emergenza — riesegui l'hashing al prossimo login.

Prova

Verifica questa pagina rispetto ai vettori di test pubblicati

Uno strumento di hashing che chiede fiducia dovrebbe essere verificabile. Questi sono i vettori bcrypt di riferimento usati dalle implementazioni derivate da OpenBSD; la pagina ricalcola ciascuno a partire dal proprio salt e li confronta carattere per carattere, poi genera e riverifica una password usa e getta a due cost factor diversi.

Il batch esegue 6 vettori pubblicati più due round trip.

Gestisci un tuo server di gioco?

Server di gioco Wespner con protezione DDoS, dischi NVMe e attivazione in pochi minuti.

Scopri l'hosting