Ověřovač bcrypt
Ověřte, zda heslo odpovídá hashi bcrypt. Vložte heslo a hash ve formátu $2a$, $2b$ nebo $2y$; nástroj ze řetězce načte sůl a náročnost, znovu vypočítá hash a oznámí, zda se shodují. Pomáhá vývojářům ladit problémy s přihlášením, ověřovat migrace databází a testovat hashe z PHP, Node.js nebo Pythonu. Hashe s náročností vyšší než 12 jsou odmítnuty a heslo se nikdy nezobrazí.
Často kladené otázky
Jak ověřování bcrypt funguje?
Nástroj načte z řetězce hashe verzi, náročnost a sůl, zahashuje vaše heslo přesně podle těchto nastavení a porovná výsledek s uloženým hashem. Pokud jsou totožné, výsledek je shoda, jinak se neshodují.
Které formáty hashů jsou podporovány?
Nástroj přijímá modulární formát crypt s předponami $2a$, $2b$ a $2y$, dvoumístnou hodnotou náročnosti a 53 znaky soli a hashe. Tyto formáty používají PHP password_hash, Node.js bcrypt a bcryptjs, Python bcrypt a Spring Security.
Proč je můj hash odmítnut?
Hash musí mít přesně 60 znaků ve formátu $2b$10$ a za ním 53 znaků z abecedy bcrypt. Zkontrolujte, zda jej neořízl sloupec databáze nebo zda není uzavřený v uvozovkách. Hashe s náročností vyšší než 12 jsou odmítnuty, aby služba zůstala rychlá.
Mohu vyzkoušet známý příklad?
Publikovaný testovací vektor jBCrypt $2a$06$If6bvum7DFjUnE9p2uDeDu0YHzrHM6tf.iqN8.yx.jNN1ILEf7h0i odpovídá heslu abc. Po zadání obou údajů se zobrazí shoda; při zadání jakéhokoli jiného hesla se zobrazí, že se neshodují.
Proč je limit náročnosti 12?
Ověření hashe je stejně náročné jako jeho vytvoření a každý krok náročnosti zdvojnásobí dobu výpočtu. Náročnost vyšší než 12 může trvat několik sekund, proto ji nástroj odmítne, aby nezatěžoval server.
Zobrazuje nebo ukládá ověřovač moje heslo?
Ne. Odpověď obsahuje pouze hash a výsledek, nikdy heslo. Nic se nezaznamenává ani neukládá.
Jaká je maximální délka hesla?
Bcrypt čte pouze prvních 72 bajtů hesla a tento nástroj delší hesla odmítá, místo aby je zkracoval. Pokud váš systém při vytvoření hashe delší heslo zkrátil, zadejte pouze jeho prvních 72 bajtů.
Jaký je rozdíl mezi $2a$, $2b$ a $2y$?
Označují opravy chyb ve starších implementacích: $2y$ pochází z opravy crypt_blowfish od PHP a $2b$ z opravy OpenBSD pro dlouhá hesla. U platných hesel do 72 bajtů vytvářejí stejný hash, proto nástroj ověřuje všechny tři formáty.
Mohu zde ověřit hashe z jiných algoritmů?
Ne. Tento nástroj ověřuje pouze hashe bcrypt. Pro řetězce začínající na $argon2 použijte Argon2 Verifier.
Proč se nový hash mého hesla bcrypt neshoduje s uloženým hashem?
Každý hash bcrypt používá novou náhodnou sůl, takže dva hashe stejného hesla jsou vždy odlišné řetězce. Proto ověřování znovu počítá hash s uloženou solí, místo aby porovnávalo dva hashe.