bcrypt-hashgenerator
Hash genereren
Hoger = trager en veiliger. 12 is een goede standaard.
Af en toe heb je een bcrypt-hash uit een oude backup en een plaintext wachtwoord, en moet je weten of ze matchen. Of je hebt een wachtwoord en wilt de hash zien die een bepaalde costfactor zou opleveren. Deze tool doet allebei: typ een wachtwoord en hij genereert een verse hash; plak een hash en kandidaat en hij vertelt of verificatie slaagt, met dezelfde constant-time vergelijking als een productie-logincheck.
bcrypt genereren of verifiëren
-
1
Kies een modus
Genereer een nieuwe hash van een wachtwoord, of verifieer een wachtwoord tegen een bestaande `$2a$` / `$2b$` / `$2y$` hash.
-
2
Voor genereren: voer plaintext en cost in
Cost 4-13; 10-12 is normaal. Voor elke hash wordt een random salt van 16 bytes gemaakt.
-
3
Voor verifiëren: plak hash en plaintext
De tool haalt salt en cost uit de hash en hasht de plaintext opnieuw met dezelfde parameters.
-
4
Lees het resultaat
Generate-modus kopieert de hash van 60 tekens; verify-modus geeft een groene match of rode mismatch terug.
Interne werking van verify-modus
Gegeven een opgeslagen hash zoals:
$2b$12$mE2n5YqWjKqT9tXg.OQPoeeHZJ9hdSvOt5wFdRRQwl6yE1vWWY3z6
De verifier:
- Parset versie (
2b), cost (12), salt (eerste 22 tekens na cost) en digest (laatste 31 tekens). - Draait bcrypt opnieuw op de kandidaat-plaintext met de uitgelezen salt en cost.
- Vergelijkt de resulterende digest met de originele via constant-time comparison.
Een succesvolle vergelijking levert true op; elk verschil levert false op.
Constant-time comparison
Twee strings vergelijken met een naïeve == stopt zodra een byte verschilt, een timing side channel dat over genoeg samples de hash cijfer voor cijfer kan lekken. Productie-wachtwoordchecks (en deze tool) gebruiken een constant-time vergelijking die altijd elke byte bekijkt, zodat de beslistijd niet afhangt van hoeveel beginbytes overeenkomen.
Veelvoorkomende diagnosegevallen
| Symptoom | Waarschijnlijke oorzaak |
|---|---|
| Verificatie faalt, je bent zeker van het wachtwoord | Witruimte aan het einde of BOM in de invoer. Verwijder beide. |
Verificatie faalt, versie 2y |
Sommige libraries houden niet van 2y; hij is geldig en compatibel. Re-hash voortaan met 2b. |
| Hash te kort / misvormd | Geen bcrypt-hash. MD5 is 32 hextekens, SHA-1 is 40, bcrypt is 60 met $-delimiters. |
| Cost mismatch-waarschuwing | Opgeslagen cost ligt onder je beleidsminimum. Re-hash bij de volgende succesvolle login. |
Rehashen bij login
Beste praktijk: wanneer een gebruiker succesvol inlogt, controleer je of de opgeslagen hash een lagere cost heeft dan je huidige beleid. Zo ja, hash het wachtwoord opnieuw met de nieuwe cost en werk de database bij. Binnen een paar maanden upgrade je de hele gebruikersbasis zonder iemand te vragen het wachtwoord te wijzigen.
Wat de tool niet doet
- Bulkverificatie, Gebouwd voor een hash tegelijk.
- Kraken of brute force, Woordenboek- of rainbow-table-aanvallen vallen bewust buiten het bereik.
- Plaintext terughalen, bcrypt is eenrichtingsverkeer; als je het wachtwoord bent vergeten, is resetten de enige route.
Veelgestelde vragen
Het wordt via een versleutelde verbinding naar onze server gestuurd, want hashing en verificatie worden daar berekend. Het wordt niet opgeslagen, niet gelogd en nooit aan de paginalink toegevoegd.
De salt wordt per hash random gegenereerd. Dat is precies het punt, twee gebruikers met hetzelfde wachtwoord krijgen verschillende hashes, waardoor rainbow tables worden verslagen.
Ja, dat is precies wat verify-modus doet: plak de hash die je hebt, plak een kandidaat-wachtwoord, en de tool bevestigt of ontkent een match.
Ja. Alle moderne varianten werken samen, de digest is compatibel tussen versies; alleen de tag verschilt. Sommige oude $2$-hashes uit systemen rond 2000 kunnen een library nodig hebben met expliciete legacy-ondersteuning.
Gerelateerde tools
Getal-naar-letter-code
Zet getallen om naar letters en terug met de code A=1, B=2 (A1Z26) voor puzzels, raadsels en aanwijzingen in escaperooms.
Vigenère-cijfercodeerder
Versleutel en ontsleutel berichten met het klassieke Vigenère-cijfer met een sleutelwoord. Verschuift de Latijnse letters A-Z en behoudt hoofdletters/kleine letters, spaties en leestekens.
Wei naar Ether omrekenen
Reken Wei om naar Ether (ETH) met exacte berekening, zonder afronding met drijvende komma. 1 ETH = 10^18 Wei.
SSH-sleutelgenerator
Genereer een RSA-SSH-sleutelpaar (2048, 3072 of 4096 bits) volledig in je browser. Noch de privésleutel, noch de openbare sleutel verlaat je apparaat. Voeg een opmerking toe en download beide.
Hulpmiddel voor tekstversleuteling
Versleutel en ontsleutel tekstberichten met AES met een wachtwoord, zodat alleen de ontvanger ze kan lezen.
TOTP-generator
Genereer tijdgebaseerde eenmalige wachtwoorden (RFC 6238) uit een Base32-sleutel, met SHA-1, SHA-256 of SHA-512, 6 tot 8 cijfers en een periode van 30 of 60 seconden.
Tool beschikbaar in andere talen
- Generator Hash bcrypt [ID]
- مولد Hash bcrypt [AR]
- Generador de Hash bcrypt [ES]
- bcrypt-Hash-Generator [DE]
- Trình tạo hash bcrypt [VI]
- bcrypt Hashジェネレーター [JA]
- bcrypt-hashgenerator [SV]
- bcrypt 해시 생성기 [KO]
- Gerador de Hash bcrypt [PT]
- Générateur de hachage bcrypt [FR]
- Generator hashy bcrypt [PL]
- ตัวสร้าง bcrypt Hash [TH]
- Генератор bcrypt-хешей [RU]
- bcrypt Hash Oluşturucu [TR]
- bcrypt 哈希生成器 [ZH]
- bcrypt Hash Generator [EN]
- Generatore di hash bcrypt [IT]