Weryfikator Bcrypt
Sprawdź, czy hasło pasuje do skrótu bcrypt. Wklej hasło i skrót $2a$, $2b$ lub $2y$, a narzędzie odczyta z ciągu sól i koszt, ponownie obliczy skrót i poda, czy pasuje. Pomaga programistom debugować problemy z logowaniem, potwierdzać migracje baz danych i testować skróty z PHP, Node.js lub Pythona. Skróty o koszcie powyżej 12 są odrzucane, a hasło nigdy nie jest wyświetlane.
Najczęściej zadawane pytania
Jak działa weryfikacja bcrypt?
Narzędzie odczytuje wersję, koszt i sól z ciągu skrótu, oblicza skrót hasła z dokładnie tymi ustawieniami i porównuje wynik z zapisanym skrótem. Jeśli są identyczne, wynik to „pasuje”; w przeciwnym razie „nie pasuje”.
Jakie formaty skrótów są obsługiwane?
Narzędzie obsługuje format modular crypt z przedrostkami $2a$, $2b$ i $2y$, dwucyfrowym kosztem oraz 53 znakami soli i skrótu. Obejmuje to PHP password_hash, Node.js bcrypt i bcryptjs, Python bcrypt oraz Spring Security.
Dlaczego mój skrót jest odrzucany?
Skrót musi mieć dokładnie 60 znaków w formacie $2b$10$, po którym następuje 53 znaków z alfabetu bcrypt. Sprawdź, czy nie został obcięty przez kolumnę bazy danych ani ujęty w cudzysłów. Skróty o koszcie powyżej 12 są odrzucane, aby usługa działała szybko.
Czy mogę wypróbować znany przykład?
Opublikowany wektor testowy jBCrypt $2a$06$If6bvum7DFjUnE9p2uDeDu0YHzrHM6tf.iqN8.yx.jNN1ILEf7h0i odpowiada hasłu abc. Wpisanie obu wartości daje wynik „pasuje”, a każde inne hasło — „nie pasuje”.
Dlaczego limit kosztu wynosi 12?
Weryfikacja skrótu kosztuje tyle samo co jego utworzenie, a każdy kolejny poziom kosztu podwaja czas. Koszty powyżej 12 mogą oznaczać kilka sekund oczekiwania, dlatego narzędzie je odrzuca, aby nie obciążać serwera.
Czy weryfikator wyświetla lub przechowuje moje hasło?
Nie. Odpowiedź zawiera tylko skrót i wynik, nigdy hasło. Nic nie jest zapisywane w logach ani przechowywane.
Czy istnieje maksymalna długość hasła?
bcrypt odczytuje tylko pierwsze 72 bajty hasła, a to narzędzie odrzuca dłuższe hasła zamiast je obcinać. Jeśli Twój system obciął dłuższe hasło podczas tworzenia skrótu, wpisz tylko jego pierwsze 72 bajty.
Czym różnią się $2a$, $2b$ i $2y$?
Oznaczają poprawki błędów w starych implementacjach: $2y$ pochodzi z poprawki crypt_blowfish w PHP, a $2b$ z poprawki OpenBSD obsługującej długie hasła. Dla prawidłowych haseł o długości do 72 bajtów obliczają ten sam skrót, więc narzędzie weryfikuje wszystkie trzy formaty.
Czy mogę tu weryfikować skróty innych algorytmów?
Nie. To narzędzie sprawdza wyłącznie skróty bcrypt. W przypadku ciągów zaczynających się od $argon2 użyj weryfikatora Argon2.
Dlaczego nowy skrót bcrypt mojego hasła nie jest taki sam jak zapisany?
Każdy skrót bcrypt używa nowej, losowej soli, dlatego dwa skróty tego samego hasła zawsze są różnymi ciągami. Właśnie dlatego podczas weryfikacji oblicza się skrót ponownie z użyciem zapisanej soli zamiast porównywać dwa skróty.