Bcrypt-verificateur
Controleer of een wachtwoord overeenkomt met een bcrypt-hash. Plak het wachtwoord en een $2a$, $2b$- of $2y$-hash. De tool leest het salt en de kostenfactor uit de string, berekent de hash opnieuw en geeft aan of deze overeenkomt. Dit helpt ontwikkelaars bij het opsporen van inlogproblemen, het controleren van databasemigraties en het testen van hashes uit PHP, Node.js of Python. Hashes met een kostenfactor hoger dan 12 worden geweigerd en het wachtwoord wordt nooit weergegeven.
Veelgestelde vragen
Hoe werkt bcrypt-verificatie?
De tool leest de versie, kostenfactor en salt uit de hash-string, hasht uw wachtwoord met precies die instellingen en vergelijkt het resultaat met de opgeslagen hash. Zijn ze identiek, dan is het antwoord ‘komt overeen’; anders is het ‘komt niet overeen’.
Welke hashindelingen worden ondersteund?
De tool accepteert het modulaire crypt-formaat met de voorvoegsels $2a$, $2b$ en $2y$, een kostenfactor van twee cijfers en 53 tekens aan salt en hash. Deze omvatten PHP password_hash, Node.js bcrypt en bcryptjs, Python bcrypt en Spring Security.
Waarom wordt mijn hash geweigerd?
De hash moet precies 60 tekens lang zijn, in de indeling $2b$10$ gevolgd door 53 tekens uit het bcrypt-alfabet. Controleer of de hash niet is afgekapt door een databasekolom of tussen aanhalingstekens staat. Hashes met een kostenfactor hoger dan 12 worden geweigerd om de service snel te houden.
Kan ik een bekend voorbeeld uitproberen?
De gepubliceerde jBCrypt-testvector $2a$06$If6bvum7DFjUnE9p2uDeDu0YHzrHM6tf.iqN8.yx.jNN1ILEf7h0i hoort bij het wachtwoord abc. Voer beide in om ‘komt overeen’ te krijgen; met elk ander wachtwoord is het antwoord ‘komt niet overeen’.
Waarom is de kostenlimiet 12?
Een hash verifiëren kost evenveel als er een maken, en bij elke stap van de kostenfactor verdubbelt de benodigde tijd. Kostenfactoren boven 12 kunnen seconden duren. Daarom weigert de tool ze in plaats van de server bezig te houden.
Toont of bewaart de verificateur mijn wachtwoord?
Nee. Het antwoord bevat alleen de hash en het resultaat, nooit het wachtwoord. Er wordt niets gelogd of opgeslagen.
Is er een maximale wachtwoordlengte?
Bcrypt leest alleen de eerste 72 bytes van een wachtwoord. Deze tool weigert langere wachtwoorden in plaats van ze af te kappen. Heeft uw systeem een langer wachtwoord bij het maken van de hash afgekapt, voer dan alleen de eerste 72 bytes in.
Wat is het verschil tussen $2a$, $2b$ en $2y$?
Ze duiden oplossingen aan voor fouten in oude implementaties: $2y$ komt voort uit de oplossing van PHP voor crypt_blowfish en $2b$ uit de oplossing van OpenBSD voor lange wachtwoorden. Voor geldige wachtwoorden van maximaal 72 bytes berekenen ze dezelfde hash. Daarom verifieert de tool ze alle drie.
Kan ik hier hashes van andere algoritmen verifiëren?
Nee. Deze tool controleert alleen bcrypt-hashes. Gebruik de Argon2-verificateur voor strings die beginnen met $argon2.
Waarom is een nieuwe bcrypt-hash van mijn wachtwoord niet gelijk aan de opgeslagen hash?
Elke bcrypt-hash gebruikt een nieuwe willekeurige salt, dus twee hashes van hetzelfde wachtwoord zijn altijd verschillende strings. Daarom berekent de verificatie de hash opnieuw met de opgeslagen salt, in plaats van twee hashes te vergelijken.