Generatore di hash bcrypt
Genera hash
Maggiore = più lento e più sicuro. 12 è un buon valore predefinito.
Di tanto in tanto hai un hash bcrypt da un vecchio backup e una password in chiaro, e devi sapere se corrispondono. Oppure hai una password e vuoi l’hash che un dato fattore di costo produrrebbe. Questo strumento fa entrambe le cose: digita una password e genera un nuovo hash, incolla un hash e un candidato e ti dice se la verifica ha successo — utilizzando lo stesso confronto a tempo costante di un controllo di accesso in produzione.
Genera o verifica bcrypt
-
1
Scegli una modalità
Genera un nuovo hash da una password, o verifica una password contro un hash esistente `$2a$` / `$2b$` / `$2y$`.
-
2
Per generare: inserisci in chiaro e costo
Costo 4-14; 10-12 è normale. Viene creato un sale casuale di 16 byte per ogni hash.
-
3
Per verificare: incolla hash e in chiaro
Lo strumento estrae il sale e il costo dall'hash e ri-hasha il testo in chiaro con gli stessi parametri.
-
4
Leggi il risultato
La modalità di generazione copia l'hash di 60 caratteri; la modalità di verifica restituisce una corrispondenza verde o una discrepanza rossa.
Interni della modalità di verifica
Dato un hash memorizzato come:
$2b$12$mE2n5YqWjKqT9tXg.OQPoeeHZJ9hdSvOt5wFdRRQwl6yE1vWWY3z6
Il verificatore:
- Analizza la versione (
2b), il costo (12), il sale (i primi 22 caratteri dopo il costo) e il digest (gli ultimi 31 caratteri). - Ri-esegue bcrypt sul testo in chiaro candidato con il sale e il costo estratti.
- Confronta il digest risultante con l’originale utilizzando un confronto a tempo costante.
Un confronto riuscito restituisce true; qualsiasi differenza restituisce false.
Confronto a tempo costante
Confrontare due stringhe con un semplice == restituisce non appena un byte differisce — un canale laterale temporale che può rivelare l’hash cifra per cifra su un numero sufficiente di campioni. I controlli delle password in produzione (e questo strumento) utilizzano un confronto a tempo costante che esamina sempre ogni byte, quindi il tempo di decisione non dipende da quanti byte iniziali corrispondono.
Casi diagnostici comuni
| Sintomo | Causa probabile |
|---|---|
| La verifica fallisce, sei sicuro della password | Spazi bianchi finali o BOM nell’input. Rimuovi entrambi. |
La verifica fallisce, versione 2y |
Alcune librerie non gradiscono 2y; è valido e compatibile. Ri-hasha con 2b in avanti. |
| Hash troppo corto / malformato | Non è un hash bcrypt. MD5 è 32 caratteri esadecimali, SHA-1 è 40, bcrypt è 60 con delimitatori $. |
| Avviso di mismatch del costo | Il costo memorizzato è al di sotto del tuo minimo di policy. Ri-hasha al prossimo accesso riuscito. |
Ri-hashing al login
Pratica migliore: quando un utente accede con successo, controlla se l’hash memorizzato ha un costo inferiore alla tua attuale policy. In tal caso, ri-hasha la password al nuovo costo e aggiorna il database. Nel giro di pochi mesi aggiorni l’intera base utenti senza chiedere a nessuno di cambiare la propria password.
Cosa non fa lo strumento
- Verifica in massa — Progettato per un hash alla volta.
- Crack o forza bruta — Attacchi di dizionario o rainbow-table sono intenzionalmente fuori portata.
- Recupera il testo in chiaro — bcrypt è unidirezionale; se hai dimenticato la password, l’unico percorso è il reset.
Domande frequenti
No. L’hashing e la verifica avvengono nel tuo browser. Né il testo in chiaro né l’hash lasciano la pagina.
Il sale è generato casualmente per ogni hash. Questo è il punto — due utenti con la stessa password ottengono hash diversi, sconfiggendo le rainbow table.
Sì, è esattamente ciò che fa la modalità di verifica: incolla l’hash che hai, incolla una password candidata, lo strumento conferma o nega una corrispondenza.
Sì. Tutte le varianti moderne interoperano — il digest è compatibile tra le versioni; solo il tag differisce. Alcuni vecchi hash $2$ dei sistemi degli anni 2000 potrebbero necessitare di una libreria con supporto legacy esplicito.
Strumenti correlati
Codificatore A1Z26
Codifica il testo utilizzando il cifrario A1Z26 (A=1, B=2, ... Z=26) o decodifica una sequenza di numeri in lettere, con separatore personalizzabile.
AES Crittografia / Decrittografia
Crittografa e decrittografa testo a basso rischio con cifrari AES OpenSSL. La passphrase viene sottoposta a SHA-256 e il risultato Base64 contiene IV più testo cifrato.
Codificatore del Cifrario Atbash
Codifica o decodifica il testo con il cifrario Atbash, una sostituzione ebraica che mappa A-Z a Z-A. La stessa operazione cripta e decripta.
Codificatore e Decodificatore Base32
Codifica e decodifica stringhe Base32 utilizzando l'alfabeto RFC 4648. Utile per segreti TOTP, token non sensibili al maiuscolo e identificatori digitati da umani.
Codificatore e Decodificatore Base85
Codifica e decodifica Base85 nelle varianti Adobe Ascii85 (PostScript/PDF) o Z85 (ZeroMQ). Più compatto di Base64 per dati binari.
Generatore bcrypt
Genera un hash bcrypt da una password in chiaro. Fattore di costo regolabile da 4 a 14, compatibile con Laravel, Django, Node e PHP.