Dekoder hashy hasel
Hashe hasel przechowuja dane uwierzytelniajace w bezpieczny sposob, uzywajac funkcji jednokierunkowych z solami i konfigurowalnymi wspolczynnikami pracy. To narzedzie automatycznie wykrywa i parsuje hashe w formatach Modular Crypt Format (MCF), PHC String Format i schematach LDAP, wyswietlajac algorytm, parametry, sol, wynik hasha i ocene bezpieczenstwa.
Specyfikacje
Typowe zastosowania
- Identyfikacja algorytmu hashowania uzywnego przez baze danych do hasel
- Audyt bezpieczenstwa hashy hasel podczas testow penetracyjnych lub przegladow bezpieczenstwa
- Weryfikacja zgodnosci wspolczynnikow kosztu bcrypt i parametrow Argon2 z rekomendacjami OWASP
- Zrozumienie schematow przechowywania hasel w katalogach LDAP
- Debugowanie problemow z uwierzytelnianiem poprzez inspekcje formatu i parametrow hasha
Funkcje
- Automatyczne wykrywanie formatow MCF ($1$, $2b$, $5$, $6$, $sha1$, $apr1$), PHC ($argon2id$, $scrypt$, $pbkdf2$) i LDAP ({SSHA}, {SHA}, {MD5})
- Wyswietlanie algorytmu, wariantu, parametrow (koszt, rundy, pamiec, rownolegle), soli i wyniku hasha
- Ocena bezpieczenstwa: krytyczny (MD5/bez soli), slaby (SHA-1/niski koszt), umiarkowany (SHA-crypt), silny (bcrypt 12+/argon2/scrypt)
- Kolorowe rekomendacje oceny bezpieczenstwa
- Wyswietlanie formatu kodowania hasha (base64, hex itp.)
- Parsowanie wielu hashy z wieloliniowego wejscia
- Wyswietlanie dlugosci hasha w bitach i formatu kodowania
- Linki do odpowiednich specyfikacji dla kazdego algorytmu
Przyklady
Hash hasla bcrypt
Wypróbuj →Hash bcrypt ze wspolczynnikiem kosztu 12 — zalecane minimum dla nowych aplikacji.
$2b$12$LJ3m4ys3Lg2VBe5E5Ij25eNsaDl3JK8i3pg7jBepGQhWcqMpqXA4qHash hasla Argon2id
Wypróbuj →Argon2id z 64 MB pamieci, 3 iteracjami i 4 watkami — obecna najlepsza praktyka.
$argon2id$v=19$m=65536,t=3,p=4$c29tZXNhbHQ$RdescudvJCsgt3ub+b+dawWskazowki
- Wspolczynnik kosztu bcrypt 12+ jest zalecany przez OWASP. Kazdy przyrost podwaja czas obliczen.
- Argon2id jest obecna najlepsza praktyka — laczy odpornosc na ataki kanalami bocznymi (argon2i) z odpornoscia na GPU (argon2d).
- LDAP {SSHA} to SHA-1 z sola — lepszy niz {SHA}, ale wciaz szybki hash. Przeprowadz migracje do bcrypt lub Argon2.
- Wklej wynik hashowania hasla z panelu Encode As, aby zdekodowac i zweryfikowac tutaj.
Zrozumienie Dekoder hashy hasel
Hashowanie hasel to praktyka przechowywania hasel jako jednokierunkowych hashy kryptograficznych zamiast tekstu jawnego. Gdy uzytkownik ustawia haslo, system hashuje je i przechowuje hash. Podczas logowania system hashuje przeslane haslo i porownuje wynik z przechowywanym hashem. Poniewaz funkcja hashujaca jest jednokierunkowa, atakujacy, ktory uzyska baze hashy, nie moze bezposrednio odzyskac hasel.
Nowoczesne algorytmy hashowania hasel sa celowo wolne i wymagajace pod wzgledem pamieci, aby opierac sie atakom brute-force. bcrypt uzywa konfigurowalnego wspolczynnika kosztu, gdzie kazdy przyrost podwaja czas obliczen. Argon2 (zwyciezca konkursu Password Hashing Competition 2015) dodaje konfigurowalne zuzycie pamieci, aby opierac sie atakom opartym na GPU. scrypt rowniez wymaga znacznej ilosci pamieci. Te "wolne hashe" sa zasadniczo rozne od szybkich hashy (MD5, SHA-256), ktore sa zaprojektowane pod katem szybkosci i nie nadaja sie do przechowywania hasel.
Hashe hasel uzywaja standaryzowanych formatow lancuchow dla przenosnosci. Modular Crypt Format (MCF) uzywa separatorow $: $2b$12$... dla bcrypt, $5$ dla SHA-256-crypt, $6$ dla SHA-512-crypt. PHC String Format (uzywany przez Argon2) dodaje nazwane parametry: $argon2id$v=19$m=65536,t=3,p=4$salt$hash. Systemy LDAP uzywaja prefiksow schematu: {SSHA}, {PBKDF2}.
Kazdy hash zawiera sol — losowe dane laczne z haslem przed hashowaniem, aby zapewnic, ze identyczne hasla produkuja rozne hashe. Bez solenia atakujacy moga uzywac wstepnie obliczonych tablic teczowych do natychmiastowego wyszukiwania hashy popularnych hasel. Sol jest przechowywana obok hasha (nie jest tajna) i jest generowana losowo dla kazdego hasla.
Dla nowych aplikacji Argon2id jest obecna najlepsza praktyka zalecana przez OWASP. Jesli Argon2 nie jest dostepny w Twoim frameworku, bcrypt ze wspolczynnikiem kosztu 12+ jest nastepna najlepsza opcja, a scrypt jest rowniez akceptowalny. MD5, SHA-1 i zwykly SHA-256 nie powinny byc nigdy uzywane do hasel — sa zbyt szybkie i moga byc lamane brute-forcem z predkoscia miliardow prob na sekunde na nowoczesnych GPU. MD5 zostal zaprojektowany jako szybki algorytm sumy kontrolnej, a nie do przechowywania hasel, i ma znane podatnosci na kolizje. Niesolone hashe MD5 sa rowniez podatne na ataki z tablicami teczowymi.
Wspolczynnik kosztu bcrypt (liczba po $2b$) jest wykladnikiem kontrolujacym czas obliczen. Koszt 10 oznacza 2^10 = 1024 iteracji, podczas gdy koszt 12 oznacza 2^12 = 4096 iteracji — cztery razy wolniej niz koszt 10. OWASP zaleca koszt 12 jako minimum. Kazdy przyrost podwaja czas, wiec zwiekszenie z 10 do 12 czyni hashowanie 4-krotnie wolniejszym zarowno dla serwera, jak i dla kazdego atakujacego.
Sol i pieprz pelnia rozne role w bezpieczenstwie hasel. Sol to losowe dane przechowywane obok hasha, unikalne dla kazdego hasla, zapewniajace, ze identyczne hasla produkuja rozne hashe — sole nie sa tajne. Pieprz to tajny klucz stosowany do wszystkich hasel (typowo przez HMAC), przechowywany oddzielnie od bazy danych w konfiguracji aplikacji lub sprzetowym module bezpieczenstwa. Jesli baza danych zostanie skompromitowana, ale pieprz nie, atakujacy nie moze zlamac hashy nawet majac sole. Uzywanie obu zapewnia obrone w glebokosci.