Bcrypt-hashgenerator en -verificator

Genereer een bcrypt-wachtwoordhash uit platte tekst met een gekozen kostenfactor, of verifieer een wachtwoord tegen een bestaande bcrypt-hash, volledig in je browser.

Tool laden…

Bcrypt-hashgenerator en -verificatorWissel tussen Hashen en Verifiëren om een wachtwoord in platte tekst om te zetten in een gesalte bcrypt-hash, of om te controleren of een wachtwoord overeenkomt met een bestaande hash. Kies een kostenfactor om te bepalen hoe traag en hoe bestand tegen brute kracht de hash is, en laat de tool voor elke hash een vers willekeurig salt genereren. Alles draait lokaal via een WebAssembly-build van bcrypt, zodat wachtwoorden en hashes nooit je browser verlaten.

Wat is Bcrypt-hashgenerator en -verificator?

De Bcrypt-hashgenerator en -verificator is een gratis tool in de browser voor de bcrypt-wachtwoordhashfunctie, hetzelfde algoritme dat talloze webframeworks gebruiken om wachtwoorden veilig op te slaan. Backend-ontwikkelaars, security-engineers en mensen die meer leren over authenticatie gebruiken hem om een $2b$-voorbeeldhash te maken waarmee ze een database vullen, om te bevestigen dat een opgeslagen hash echt overeenkomt met een bekend wachtwoord, of om te zien hoe de kostenfactor het benodigde werk verandert. In de modus Hashen voer je een wachtwoord en een kostenfactor (4-31) in; er wordt een willekeurig salt van 16 bytes voor je gegenereerd en het resultaat is de standaard gecodeerde bcrypt-string die de algoritmeversie, kosten, salt en digest samen draagt. In de modus Verifiëren plak je een wachtwoord en een bestaande bcrypt-hash, druk je op Verifiëren, en vertelt de tool je of ze overeenkomen. Omdat bcrypt opzettelijk traag is, kan een hoge kostenfactor een merkbaar moment kosten om te berekenen.

Bcrypt-hashgenerator en -verificator gebruiken

  1. Kies Hashen om een nieuwe hash te maken, of Verifiëren om een wachtwoord tegen een bestaande te controleren.
  2. Typ of plak in de modus Hashen het wachtwoord in platte tekst dat je wilt beschermen.
  3. Stel de kostenfactor in (10 is een gangbare standaard; hoger is trager en sterker).
  4. Druk op Hash genereren en kopieer de resulterende bcrypt-string zodra die verschijnt.
  5. Voer in de modus Verifiëren het wachtwoord in en plak de bcrypt-hash, druk dan op Verifiëren om Komt overeen of Komt niet overeen te zien.

Voorbeelden

Een wachtwoord hashen met de standaardkosten

Invoer

wachtwoord: correct horse battery staple, kosten: 10

Uitvoer

$2b$10$... (een bcrypt-hash van 60 tekens; het salt is willekeurig, dus het verschilt elke keer)

Een wachtwoord verifiëren tegen een opgeslagen hash

Invoer

wachtwoord: hunter2, hash: $2b$10$N9qo8uLOickgx2ZMRZoMyeIjZAgcfl7p92ldGxad68LJZdL17lhWy

Uitvoer

Komt overeen

Een verkeerd wachtwoord slaagt niet voor de verificatie

Invoer

wachtwoord: wrongpass, hash: $2b$10$N9qo8uLOickgx2ZMRZoMyeIjZAgcfl7p92ldGxad68LJZdL17lhWy

Uitvoer

Komt niet overeen

Veelgestelde vragen

Worden mijn wachtwoorden of hashes ergens naartoe verstuurd?
Nee. Hashen en verifiëren draaien volledig in je browser met een WebAssembly-build van bcrypt. Niets van wat je typt wordt geüpload naar of opgeslagen op een server, dus de tool blijft offline werken en je wachtwoorden verlaten de pagina nooit.
Welke kostenfactor moet ik gebruiken?
De kostenfactor bepaalt hoeveel rondes bcrypt uitvoert; elke verhoging verdubbelt het werk ongeveer. Een waarde van 10-12 is gangbaar voor web-apps. Hogere waarden zijn beter bestand tegen brute kracht maar kosten meer tijd om te berekenen, dus zeer hoge getallen kunnen de browser even laten vastlopen.
Waarom verandert de hash elke keer voor hetzelfde wachtwoord?
Er wordt voor elke hash een vers willekeurig salt van 16 bytes gegenereerd, en het salt wordt in het resultaat ingebed. Verschillende salts leveren verschillende hashes op voor hetzelfde wachtwoord, en dat is precies wat bcrypt veilig maakt. Verificatie slaagt toch, omdat het salt weer uit de opgeslagen hash wordt gelezen.
Waarom zegt de verificatie dat mijn hash ongeldig is?
Verifiëren verwacht een volledige bcrypt-hash in de standaard gecodeerde vorm, die meestal begint met $2a$, $2b$ of $2y$ gevolgd door de kosten en 53 tekens salt plus digest. Als een deel van de string ontbreekt of is gewijzigd, kan de tool het salt niet lezen en meldt hij een fout.
Kan ik deze hash rechtstreeks in mijn applicatie gebruiken?
Ja. De uitvoer is een standaard gecodeerde bcrypt-string die compatibel is met gangbare bcrypt-bibliotheken, dus je kunt hem opslaan en er op je server tegen verifiëren. Genereer voor echte systemen de hash daar waar het wachtwoord wordt ingevoerd in plaats van hem via andere tools te kopiëren.

Gerelateerde tools