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-13; 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
Viene inviato al nostro server tramite una connessione crittografata, perché l’hashing e la verifica vengono calcolati lì. Non viene memorizzato né registrato e non viene mai aggiunto al link della 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 di file Base64
Codifica qualsiasi file (PDF, ZIP, immagine, eseguibile) in testo Base64 per l'inserimento in JSON, email, YAML o URI di dati. Funziona localmente, senza upload.
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.
Cifrario di Cesare
Cripta e decripta testo utilizzando il cifrario di Cesare. Qualsiasi spostamento da 1 a 25, supporta ROT13 come caso speciale, preserva punteggiatura e maiuscole.
Codificatore e Decodificatore Base58
Codifica testo UTF-8 o byte esadecimali e decodifica Base58 in sicurezza con l’alfabeto Bitcoin, Ripple o Flickr.
Generatore bcrypt
Genera un hash bcrypt da una password in chiaro. Fattore di costo regolabile da 4 a 13, compatibile con Laravel, Django, Node e PHP.
Generatore CSR
Genera una richiesta di firma del certificato codificata in PEM e la chiave privata RSA corrispondente. Specifica il nome comune, i campi dell'organizzazione e la dimensione della chiave (2048, 3072 o 4096 bit).
Strumento disponibile in altre lingue
- bcrypt Hash Oluşturucu [TR]
- bcrypt-hashgenerator [NL]
- ตัวสร้าง bcrypt Hash [TH]
- Trình tạo hash bcrypt [VI]
- Generator Hash bcrypt [ID]
- Gerador de Hash bcrypt [PT]
- bcrypt-Hash-Generator [DE]
- Générateur de hachage bcrypt [FR]
- Generador de Hash bcrypt [ES]
- bcrypt 哈希生成器 [ZH]
- bcrypt Hash Generator [EN]
- Generator hashy bcrypt [PL]
- bcrypt-hashgenerator [SV]
- bcrypt Hashジェネレーター [JA]
- مولد Hash bcrypt [AR]
- bcrypt 해시 생성기 [KO]
- Генератор bcrypt-хешей [RU]