bcrypt-hashgenerator
Generera hash
Higher = slower & more secure. 12 is en good default.
Ibland har du en bcrypt-hash från en gammal backup och ett klartextlösenord, och behöver veta om de matchar. Eller så har du ett lösenord och vill ha hashen som en viss kostnadsfaktor skulle producera. Det här verktyget gör båda: skriv ett lösenord så genererar det en färsk hash, klistra in en hash och en kandidat så säger det om verifieringen lyckas, med samma konstanttidsjämförelse som en produktionsinloggning.
Generera eller verifiera bcrypt
-
1
Välj läge
Generera en ny hash från ett lösenord, eller verifiera ett lösenord mot en befintlig `$2a$` / `$2b$` / `$2y$`-hash.
-
2
För generering: ange klartext och kostnad
Kostnad 4-13; 10-12 är normalt. Ett slumpmässigt salt på 16 bytes skapas för varje hash.
-
3
För verifiering: klistra in hash och klartext
Verktyget extraherar salt och kostnad från hashen och hashar om klartexten med samma parametrar.
-
4
Läs resultatet
Genereringsläge kopierar hashen på 60 tecken; verifieringsläge returnerar en grön matchning eller röd avvikelse.
Interna steg i verifieringsläge
Givet en lagrad hash som:
$2b$12$mE2n5YqWjKqT9tXg.OQPoeeHZJ9hdSvOt5wFdRRQwl6yE1vWWY3z6
Verifieraren:
- Parsar version (
2b), kostnad (12), salt (första 22 tecknen efter kostnad) och digest (sista 31 tecknen). - Kör bcrypt igen på kandidatens klartext med det extraherade saltet och kostnaden.
- Jämför den resulterande digesten med originalet med konstanttidsjämförelse.
En lyckad jämförelse ger true; varje skillnad ger false.
Konstanttidsjämförelse
Att jämföra två strängar med ett naivt == returnerar så snart en byte skiljer sig, en timing-side channel som kan läcka hashen siffra för siffra över tillräckligt många prover. Produktionskontroller av lösenord (och det här verktyget) använder en konstanttidsjämförelse som alltid granskar varje byte, så beslutstiden beror inte på hur många inledande bytes som matchar.
Vanliga diagnostiska fall
| Symptom | Trolig orsak |
|---|---|
| Verifiering misslyckas, du är säker på lösenordet | Avslutande blanksteg eller BOM i indata. Ta bort båda. |
Verifiering misslyckas, version 2y |
Vissa bibliotek ogillar 2y; den är giltig och kompatibel. Hasha om med 2b framöver. |
| Hash för kort / felformad | Inte en bcrypt-hash. MD5 är 32 hextecken, SHA-1 är 40, bcrypt är 60 med $-avgränsare. |
| Varning om kostnadsmismatch | Lagrad kostnad ligger under din policyminiminivå. Hasha om vid nästa lyckade inloggning. |
Omhashning vid inloggning
Bästa praxis: när en användare loggar in framgångsrikt, kontrollera om den lagrade hashen har lägre kostnad än din aktuella policy. Om ja, hasha om lösenordet med den nya kostnaden och uppdatera databasen. Inom några månader har du uppgraderat hela användarbasen utan att be någon byta lösenord.
Vad verktyget inte gör
- Bulkverifiering, Byggt för en hash i taget.
- Knäcker eller kör brute force, Ordboks- och rainbow-table-attacker ligger avsiktligt utanför verktygets omfattning.
- Hämtar klartexten, bcrypt är envägs; om du har glömt lösenordet är återställning enda vägen.
Vanliga frågor
Det skickas till vår server över en krypterad anslutning, eftersom hashning och verifiering beräknas där. Det sparas inte, loggas inte och läggs aldrig till i sidans länk.
Saltet genereras slumpmässigt per hash. Det är hela poängen, två användare med samma lösenord får olika hashar, vilket stoppar rainbow tables.
Ja, det är exakt vad verifieringsläget gör: klistra in hashen du har, klistra in ett kandidat-lösenord, och verktyget bekräftar eller nekar matchning.
Ja. Alla moderna varianter samverkar, digesten är kompatibel mellan versioner; bara taggen skiljer sig. Vissa gamla $2$-hashar från system runt år 2000 kan behöva ett bibliotek med explicit legacy-stöd.
Relaterade verktyg
Base64-filencoder
Koda valfri fil (PDF, ZIP, bild, körbar fil) till Base64-text för inbäddning i JSON, e-post, YAML eller data-URI:er. Körs lokalt, ingen uppladdning.
A1Z26-chifferkodare
Koda text med A1Z26-chiffret (A=1, B=2, ... Z=26) eller avkoda en siffersekvens tillbaka till bokstäver, med anpassningsbar separator.
Base58-kodare och avkodare
Koda UTF-8-text eller hexadecimala byte och avkoda Base58 säkert med alfabetet för Bitcoin, Ripple eller Flickr.
bcrypt-generator
Generera en bcrypt-hash från ett klartextlösenord. Justerbar kostnadsfaktor från 4 till 13, kompatibel med Laravel, Django, Node och PHP.
AES kryptera / dekryptera
Kryptera och dekryptera text med låg risk med AES-chiffer från OpenSSL. Lösenfrasen hashas med SHA-256 och Base64-utdata innehåller IV plus chiffertext.
SSL-certifikatgenerator
Generera ett självsignerat SSL/TLS-certifikat och en privat RSA-nyckel helt i webbläsaren. Eget Common Name, SAN och giltighet, exporterat som PEM.
Verktyget finns på andra språk
- Generator hashy bcrypt [PL]
- Generador de Hash bcrypt [ES]
- Gerador de Hash bcrypt [PT]
- مولد Hash bcrypt [AR]
- bcrypt-hashgenerator [NL]
- Générateur de hachage bcrypt [FR]
- bcrypt 해시 생성기 [KO]
- bcrypt Hash Oluşturucu [TR]
- bcrypt Hash Generator [EN]
- Trình tạo hash bcrypt [VI]
- Generator Hash bcrypt [ID]
- bcrypt Hashジェネレーター [JA]
- ตัวสร้าง bcrypt Hash [TH]
- bcrypt-Hash-Generator [DE]
- bcrypt 哈希生成器 [ZH]
- Generatore di hash bcrypt [IT]
- Генератор bcrypt-хешей [RU]