Generator Bcrypt

Generator Bcrypt to bezpłatne narzędzie, które na podstawie dowolnego ciągu wejściowego tworzy hash hasła bcrypt, przeznaczony do bezpiecznego przechowywania haseł.
Czym jest bcrypt i czy nadal jest bezpieczny?
Bcrypt to algorytm haszowania haseł, który przy odpowiednio dobranym koszcie nadal uznaje się za właściwy do ich przechowywania, choć w nowszych systemach często preferowany jest Argon2id. Bcrypt został opracowany w 1999 roku przez Nielsa Provosa i Davida Mazièresa. Wykorzystuje procedurę generowania kluczy szyfru Blowfish, aby celowo zwiększyć koszt obliczeniowy każdej próby odgadnięcia hasła.
Haszowanie jest procesem jednokierunkowym. Aplikacja sprawdza więc hasło, haszując podaną wartość z użyciem zapisanych parametrów, zamiast odzyskiwać oryginał. W przeciwieństwie do algorytmów ogólnego przeznaczenia, takich jak SHA-3, bcrypt tworzy kompletny rekord o stałej długości, zawierający wersję, koszt, sól i sumę kontrolną.
Standardowy rekord bcrypt ma 60 znaków ASCII. Jego suma kontrolna odpowiada 184 bitom i jest zapisana jako 31 znaków we własnym kodowaniu bcrypt, podobnym do Base64. Bcrypt nie jest uznawany za algorytm złamany kryptograficznie, ma jednak ograniczenie wynikające z jego wieku: tradycyjne implementacje przetwarzają najwyżej 72 bajty danych wejściowych. Argon2id zapewnia również ochronę wymagającą dużej ilości pamięci, której bcrypt nie oferuje.

Jak korzystać z Generatora Bcrypt?
Wpisz ciąg, który chcesz zahaszować, uruchom generator i skopiuj wartość widoczną w polu wyniku Skrót Bcrypt. Zapisz cały wynik, a nie tylko końcową sumę kontrolną.
- Użyj dokładnego hasła lub ciągu testowego, z zachowaniem wielkości liter, spacji i znaków interpunkcyjnych.
- Wygeneruj wynik bcrypt.
- Skopiuj wszystkie 60 znaków, łącznie z początkowym oznaczeniem wersji i kosztem.
- Zapisz wynik w kolumnie bazy danych przeznaczonej na hash hasła.
- Podczas logowania korzystaj z funkcji weryfikacji bcrypt dostępnej na swojej platformie. Nie generuj nowego hasha w celu bezpośredniego porównania obu zapisów tekstowych.

Bcrypt zwykle stosuje nową, losową sól dla każdego hasha. Dlatego dwukrotne zahaszowanie tych samych danych może dać dwa różne rekordy, które mimo to zostaną poprawnie zweryfikowane dla tego samego hasła. Jest to oczekiwane zachowanie, dzięki któremu identyczne hasła nie mają identycznych zapisanych wartości.
Obliczenia są wykonywane na serwerze. Wprowadzone dane są przesyłane do niego przez HTTPS i nie są przechowywane. Zanim wpiszesz prawdziwe hasło używane w środowisku produkcyjnym, sprawdź, czy korzystanie z zewnętrznej usługi internetowej jest zgodne z polityką bezpieczeństwa Twojej organizacji.
Czy hash bcrypt można odszyfrować lub odwrócić?
Nie. Hasha bcrypt nie można odszyfrować, ponieważ nie jest zaszyfrowanymi danymi i nie zawiera klucza deszyfrującego. W praktyce atak polega na odgadywaniu możliwych haseł i sprawdzaniu każdej propozycji względem zapisanego hasha.
Bcrypt spowalnia takie próby dzięki konfigurowalnemu kosztowi. Nie sprawi jednak, że krótkie, popularne lub wcześniej ujawnione hasło stanie się bezpieczne. Zdeterminowany atakujący nadal może odgadnąć słabe dane wejściowe. Sól uniemożliwia ponowne wykorzystanie jednej wstępnie obliczonej tablicy do atakowania wielu kont, ale nie jest tajna i znajduje się w zapisanym rekordzie.

Jak odczytać wynik bcrypt?
Wynik bcrypt zwykle korzysta z modularnego formatu crypt. Typowy układ wygląda tak: $2y$12$[22-character salt][31-character checksum]. Jest to jedynie ilustracja formatu, a nie hash konkretnego hasła.
| Element | Typowa długość | Przeznaczenie |
|---|---|---|
| Oznaczenie wersji | 4 znaki | Określa wariant bcrypt, na przykład $2y$ lub $2b$. |
| Koszt | 3 znaki | Zawiera dwucyfrową wartość kosztu, po której występuje separator. |
| Sól | 22 znaki | Koduje losową sól o długości 128 bitów. |
| Suma kontrolna | 31 znaków | Koduje 184-bitową sumę kontrolną bcrypt. |
Wszystkie te elementy muszą pozostać razem. Zmiana choćby jednego znaku, skrócenie wartości lub zapisanie jej w zbyt krótkiej kolumnie zwykle spowoduje błąd weryfikacji. Oznaczenie wersji może się różnić między zgodnymi bibliotekami, dlatego aplikacje powinny korzystać ze sprawdzonych interfejsów API do obsługi haseł, zamiast samodzielnie analizować i odtwarzać rekord.
Kiedy warto używać bcrypt?
Bcrypt sprawdza się do haszowania haseł w systemach, które już go obsługują, zwłaszcza gdy ważna jest zgodność z istniejącą bazą danych lub frameworkiem. Jest celowo powolny i wykorzystuje sól, dlatego nie nadaje się do tworzenia ogólnych sum kontrolnych plików ani identyfikatorów używanych do deduplikacji.
- Odpowiednie zastosowania to między innymi hasła w aplikacjach, testowanie migracji, sprawdzanie rozmiaru pól bazy danych oraz odtwarzanie środowiska programistycznego zgodnego z bcrypt.
- Zamiast tego użyj Argon2id w nowym systemie haseł, jeśli platforma go obsługuje i umożliwia prawidłowe zarządzanie ustawieniami pamięci.
- Zamiast tego użyj SHA-3 do sprawdzania integralności plików, tworzenia odcisków treści lub deduplikacji. Generator SHA-3/384 i Generator SHA-3/512 tworzą skróty ogólnego przeznaczenia, a nie rekordy haseł.
- Nie używaj bcrypt do podpisów cyfrowych, uwierzytelniania wiadomości, szyfrowania ani przechowywania danych, które trzeba będzie później odzyskać.
Spacje, znaki interpunkcyjne i cyfry są przetwarzane jako dane wejściowe, a nie pomijane. Znaki diakrytyczne i znaki spoza alfabetu łacińskiego są kodowane do postaci bajtów przed rozpoczęciem działania bcrypt. Oba systemy muszą więc generować identyczne bajty, między innymi przez stosowanie tego samego kodowania znaków i tej samej normalizacji Unicode. Limit 72 bajtów ma tu szczególne znaczenie, ponieważ jeden znak Unicode może zajmować więcej niż jeden bajt. Technicznie można zahaszować puste dane wejściowe, ale puste hasło nie zapewnia żadnej istotnej odporności na odgadywanie.
Najczęściej zadawane pytania
Ile miejsca w bazie danych zajmuje hash bcrypt?
Na standardowy rekord bcrypt przeznacz co najmniej 60 znaków ASCII. Nieco szersze pole może ułatwić przyszłą migrację algorytmu haszowania haseł. Kolumna binarna nie jest natomiast potrzebna do przechowywania standardowej postaci zakodowanej.
Czy istniejące hashe SHA można przenieść do bcrypt?
Nie można przekształcić istniejącego skrótu SHA w hash bcrypt pierwotnego hasła bez znajomości tego hasła. Popularna metoda migracji polega na zweryfikowaniu starego hasha przy następnym logowaniu użytkownika, a następnie zahaszowaniu podanego hasła za pomocą bcrypt lub Argon2id i zastąpieniu starego rekordu.
Przed zapisaniem wyniku upewnij się, że skopiowano pełną wartość o długości 60 znaków, pole bazy danych jej nie skraca, a aplikacja odbierająca dane obsługuje oznaczenie wersji zawarte w rekordzie.
Popularne narzędzia
Utwórz własny podpis i pobierz go łatwo za pomocą naszego narzędzia do generowania podpisów dla spersonalizowanych e-podpisów.
Oblicz rozmiar dowolnego tekstu w bajtach (B), kilobajtach (KB) lub megabajtach (MB) za pomocą naszego narzędzia do obliczania rozmiaru tekstu.
Użyj narzędzia do odwrotnego wyszukiwania IP, aby szybko i łatwo znaleźć domenę lub hosta powiązanego z dowolnym adresem IP.
Użyj naszego narzędzia ping, aby szybko i efektywnie sprawdzić status i czas odpowiedzi dowolnej strony internetowej, serwera lub portu.
Narzędzie do wyszukiwania IP Digily Link dostarcza szczegółowych informacji o dowolnym adresie IP. Skorzystaj z tej darmowej usługi online, aby uzyskać kompleksowe dane o IP.
Wygeneruj swój darmowy link WhatsApp natychmiast za pomocą naszego Generatora Linków WhatsApp. Dodaj niestandardową wiadomość i rozpocznij czaty jednym kliknięciem. Bez logowania i kodowania.