Generator i Weryfikator Hashy Bcrypt
Generuj hashe haseł bcrypt z konfigurowalnym czynnikiem kosztu (rundy 4-15) i weryfikuj, czy hasło tekstowe pasuje do istniejącego hasha bcrypt. Zawiera wizualną analizę struktury hasha, licznik bezpieczeństwa w czasie rzeczywistym, estymator kosztu do prędkości oraz wyjaśnienie wariantów ($2a$, $2b$, $2y$).
Blokada reklam uniemożliwia wyświetlanie reklam
MiniWebtool jest darmowy dzięki reklamom. Jeśli to narzędzie Ci pomogło, wesprzyj nas przez Premium (bez reklam + szybciej) albo dodaj MiniWebtool.com do wyjątków i odśwież stronę.
- Albo przejdź na Premium (bez reklam)
- Zezwól na reklamy dla MiniWebtool.com, potem odśwież
O Generator i Weryfikator Hashy Bcrypt
Witaj w narzędziu Generator i Weryfikator Hashy Bcrypt — darmowym narzędziu online, które pozwala generować kryptograficznie bezpieczne skróty haseł bcrypt z konfigurowalnym współczynnikiem kosztu oraz weryfikować, czy hasło tekstowe pasuje do istniejącego hasha bcrypt. Niezależnie od tego, czy zasilasz bazę danych, debugujesz proces logowania, migrujesz użytkowników między systemami, czy uczysz się o adaptacyjnym hashowaniu haseł, to narzędzie zapewnia natychmiastowe wyniki oraz edukacyjną wizualizację struktury 60-znakowego formatu bcrypt.
Co to jest Bcrypt i dlaczego warto go używać?
Bcrypt to adaptacyjna funkcja hashowania haseł oparta na szyfrze Blowfish, zaprojektowana w 1999 roku przez Nielsa Provosa i Davida Mazièresa. W przeciwieństwie do szybkich skrótów kryptograficznych, takich jak SHA-256 czy MD5, bcrypt jest celowo powolny i zawiera regulowany współczynnik kosztu, który można zwiększać wraz z rozwojem sprzętu. Każdy hash bcrypt zawiera również unikalną losową sól, która uniemożliwia atakującym korzystanie z wstępnie obliczonych tablic tęczowych. OWASP zaleca bcrypt jako jeden z czterech akceptowalnych algorytmów hashowania haseł do przechowywania danych uwierzytelniających użytkowników w nowoczesnych aplikacjach webowych.
Współczynnik kosztu: Serce bezpieczeństwa Bcrypt
Współczynnik kosztu (zwany również współczynnikiem pracy lub rundami) kontroluje nakład obliczeniowy wymagany do utworzenia hasha. Jest on logarytmiczny: każde +1 podwaja nakład pracy. Koszt 12 zajmuje około 250 milisekund na typowym nowoczesnym procesorze; koszt 14 zajmuje około 1 sekundy. Poniższa tabela pokazuje szacunkowy czas obliczeń dla każdego poziomu kosztu — wybierz wartość, która jest wystarczająco szybka dla procesu logowania, ale jednocześnie wystarczająco wolna, by zniechęcić atakujących.
| Koszt | Rundy | Szac. czas | Siła | Zalecane dla |
|---|---|---|---|---|
| 4 | 2^4 |
< 1 ms | Tylko testy — nigdy produkcja | |
| 5 | 2^5 |
2 ms | Tylko testy — nigdy produkcja | |
| 6 | 2^6 |
4 ms | Tylko testy — nigdy produkcja | |
| 7 | 2^7 |
8 ms | Tylko testy — nigdy produkcja | |
| 8 | 2^8 |
16 ms | Systemy legacy | |
| 9 | 2^9 |
31 ms | Systemy legacy | |
| 10 | 2^10 |
62 ms | Minimum produkcyjne | |
| 11 | 2^11 |
125 ms | Minimum produkcyjne | |
| 12 | 2^12 |
250 ms | Zalecany standard | |
| 13 | 2^13 |
500 ms | Aplikacje o wysokim bezpieczeństwie | |
| 14 | 2^14 |
1.00 s | Maksymalna siła | |
| 15 | 2^15 |
2.00 s | Maksymalna siła |
Anatomia hasha Bcrypt
Każdy hash bcrypt ma dokładnie 60 znaków i posiada stałą strukturę. Zrozumienie każdego segmentu znacznie ułatwia debugowanie problemów z logowaniem lub migrację hashy między systemami:
$2b$ → wariant algorytmu$12$ → współczynnik kosztu (2^12 = 4096 rund)7i..qTPY7p4ZLvKIepRKwe → 22-znakowa sól base64lX0JB55DviohJT.JYruzy4EN6cl.q8O → 31-znakowy skrót (digest)
Kodowanie soli i skrótu
Bcrypt używa niestandardowego alfabetu base64, który jest podobny do standardowego, ale wykorzystuje ./ zamiast +/ i nie stosuje dopełnienia (padding). Jest to podyktowane względami historycznymi i nie wpływa na bezpieczeństwo. Sól składa się z 16 losowych bajtów zakodowanych jako 22 znaki base64; skrót to 23 bajty zakodowane jako 31 znaków.
Wyjaśnienie wariantów Bcrypt
Możesz napotkać kilka prefiksów bcrypt. Wszystkie tworzą hashe o tej samej strukturze, ale mają różne pochodzenie:
Jak korzystać z tego narzędzia
- Wybierz tryb: Wybierz Generuj Hash, aby utworzyć nowy hash bcrypt, lub Weryfikuj Hash, aby sprawdzić, czy hasło pasuje do istniejącego skrótu.
- Wprowadź hasło: Wpisz hasło tekstowe w pole wejściowe. Licznik bajtów ostrzeże Cię, jeśli hasło zbliży się do limitu 72 bajtów algorytmu bcrypt.
- Ustaw współczynnik kosztu: W trybie Generuj przesuń suwak, aby wybrać koszt między 4 a 15. Szacowany czas obliczeń i ocena bezpieczeństwa są aktualizowane w czasie rzeczywistym.
- Wklej hash do weryfikacji: W trybie Weryfikuj wklej istniejący 60-znakowy hash bcrypt zaczynający się od
$2a$,$2b$,$2x$lub$2y$. - Uruchom i odczytaj wynik: Kliknij przycisk akcji. Tryb Generuj zwraca hash z kolorową analizą struktury; tryb Weryfikuj pokazuje duży wskaźnik DOPASOWANO lub BRAK DOPASOWANIA wraz z oryginalnym kosztem.
Limit hasła 72 bajtów
Bcrypt opiera się na fazie konfiguracji klucza Blowfish, która pobiera tylko pierwsze 72 bajty hasła. Hasła dłuższe niż 72 bajty są po cichu skracane przez starsze biblioteki lub całkowicie odrzucane przez nowsze. Pamiętaj, że liczą się bajty, a nie znaki — pojedyncze emoji to 4 bajty, a większość znaków spoza ASCII zajmuje 2-4 bajty w UTF-8. Jeśli Twoja aplikacja akceptuje dowolnie długie hasła, standardowym rozwiązaniem jest wstępne zahashowanie hasła za pomocą SHA-256 i zakodowanie skrótu w base64 przed przekazaniem go do bcrypt; daje to stały 44-bajtowy wsad, który mieści się w limicie.
Kiedy wybrać Bcrypt vs Argon2 vs Scrypt
Nowoczesne zalecenia dotyczące hashowania haseł od OWASP i IETF (RFC 9106) wymieniają cztery akceptowalne algorytmy: Argon2id (preferowany dla nowych aplikacji), bcrypt, scrypt oraz PBKDF2. Wybierz bcrypt, gdy:
- Potrzebujesz szerokiej kompatybilności — każdy popularny język programowania posiada dojrzałą bibliotekę bcrypt
- Pracujesz z istniejącym systemem, który już używa bcrypt
- Chcesz sprawdzony w boju algorytm z ponad 25-letnią historią kryptoanalizy
- Hashowanie wymagające dużej ilości pamięci (Argon2id, scrypt) jest niepraktyczne w Twoim środowisku
Wybierz Argon2id, jeśli budujesz nowy system bez ograniczeń kompatybilności — jest on nowoczesnym zwycięzcą konkursu Password Hashing Competition i zapewnia odporność na ataki GPU i FPGA, której bcrypt nie może dorównać.
Praktyczne zastosowania
Dla programistów
- Zasilanie baz deweloperskich realistycznymi użytkownikami testowymi bez uruchamiania pełnego procesu rejestracji
- Generowanie danych fikcyjnych (fixtures) dla testów integracyjnych ścieżki logowania
- Debugowanie nieudanych logowań poprzez weryfikację hasha produkcyjnego z hasłem zgłoszonym przez użytkownika
- Migracja starych hashy
$2a$do$2b$poprzez ponowne hashowanie przy następnym logowaniu - Dostrajanie współczynnika kosztu dla środowiska produkcyjnego poprzez pomiar rzeczywistego czasu obliczeń
Dla inżynierów bezpieczeństwa
- Weryfikacja, czy zewnętrzna usługa uwierzytelniania generuje hashe z deklarowanym współczynnikiem kosztu
- Audyt przechowywania haseł poprzez inspekcję wariantu hasha i kosztu w próbkach produkcyjnych
- Tworzenie materiałów szkoleniowych pokazujących, jak budowa bcrypt czyni go odpornym na tablice tęczowe
Dla uczących się
- Generowanie tego samego hasła dwukrotnie, aby zobaczyć, jak sól tworzy różne hashe
- Eksperymentowanie z różnymi współczynnikami kosztu, aby odczuć efekt podwojenia na własnej skórze
- Weryfikacja znanego hasha, aby zrozumieć, jak bcrypt wyodrębnia koszt i sól przed hashowaniem kandydata
Często zadawane pytania
Jaki współczynnik kosztu powinienem stosować dla bcrypt?
OWASP obecnie zaleca współczynnik kosztu co najmniej 10, przy czym 12 jest dobrym nowoczesnym standardem, który zajmuje około 250 milisekund na typowym serwerze. Koszt jest logarytmiczny, więc każde +1 podwaja pracę. Koszt 14 jest odpowiedni dla aplikacji o wysokim poziomie bezpieczeństwa, podczas gdy 15 to praktyczne maksimum dla interaktywnych logowań. Nigdy nie używaj kosztu poniżej 10 na produkcji.
Jaka jest różnica między $2a$, $2b$, $2x$ i $2y$?
Wszystkie cztery to warianty bcrypt rozróżniane prefiksem. $2a$ to pierwotna wersja; $2x$ i $2y$ to poprawki PHP dla błędu rozszerzenia znaku z 2011 roku; $2b$ to nowoczesna implementacja naprawiająca błąd zawijania długich haseł. Hashe z dowolnym wariantem są weryfikowalne. Nowoczesne biblioteki domyślnie generują $2b$ i należy go preferować.
Czy wpisane przeze mnie hasło jest wysyłane na serwer?
Formularz jest przetwarzany po stronie serwera przez HTTPS w celu wykonania obliczeń bcrypt, ale ani hasło, ani wynikowy hash nie są logowane ani przechowywane — każde żądanie jest przetwarzane i usuwane. Dla pełnego bezpieczeństwa haseł testowych, nigdy nie wklejaj prawdziwego hasła produkcyjnego do żadnego narzędzia online. Używaj narzędzia z tymczasowymi hasłami testowymi.
Dlaczego bcrypt ma limit 72 bajtów na hasło?
Bcrypt opiera się na fazie konfiguracji klucza Blowfish, która przyjmuje tylko pierwsze 72 bajty danych. Hasła dłuższe są skracane lub odrzucane. Aby wspierać dowolnie długie hasła, należy je wstępnie zahashować (np. SHA-256) przed podaniem do bcrypt. Narzędzie ostrzega przed przekroczeniem limitu.
Czy mogę zweryfikować hash wygenerowany przez inną bibliotekę bcrypt?
Tak. Wszystkie implementacje bcrypt używają tego samego formatu ($wariant$koszt$sól+skrót, łącznie 60 znaków) i są interoperacyjne. Hash z Node.js bcrypt, PHP password_hash, Python passlib, Spring Security lub innej zgodnej biblioteki zostanie tu poprawnie zweryfikowany.
Dlaczego dwukrotne generowanie hasła dla tego samego hasła daje inny hash?
Bcrypt automatycznie generuje nową losową 16-bajtową sól dla każdego hasha. Sól jest mieszana w algorytmie i osadzona w wyniku, więc dwa hashe tego samego hasła niemal nigdy nie są identyczne. Weryfikacja działa, ponieważ checkpw wyodrębnia koszt i sól z zapisanego hasha i ponownie uruchamia bcrypt z tymi samymi parametrami.
Czy mogę odzyskać oryginalne hasło z hasha bcrypt?
Nie. Bcrypt jest funkcją jednostronną — nie istnieje operacja deszyfrowania. Jedynym sposobem na znalezienie hasła jest zgadywanie haseł i przepuszczanie ich przez bcrypt z tym samym kosztem i solą, aż skróty się zgodzą. Adaptacyjny koszt bcrypt ma na celu uczynienie takich prób zbyt kosztownymi dla atakującego.
Czy to działa na urządzeniach mobilnych?
Tak. Interfejs jest w pełni responsywny i działa na smartfonach, tabletach oraz komputerach. Przełącznik trybu, suwak kosztu i panele wyników dostosowują się do wąskich ekranów.
Dodatkowe zasoby
Cytuj ten materiał, stronę lub narzędzie w następujący sposób:
"Generator i Weryfikator Hashy Bcrypt" na https://MiniWebtool.com/pl// z MiniWebtool, https://MiniWebtool.com/
przez zespół miniwebtool. Aktualizacja: 26 kwietnia 2026