Entropia hasła
Oszacuj siłę hasła w bitach entropii dla wybranych założeń o długości i zestawie znaków — pomoc przy ocenie odporności na brute-force (przy założeniu losowego wyboru znaków).
Wynik
Wprowadź dane i kliknij Oblicz.
Co to jest entropia hasła
Entropia hasła to liczba bitów opisująca, ile "niepewności" (losowości) niesie hasło, gdyby ktoś próbował je odgadnąć metodą prób i błędów. Wyższa entropia oznacza więcej możliwych kombinacji do przeszukania — to standardowa miara siły hasła używana w kryptografii i wytycznych bezpieczeństwa (np. NIST SP 800-63B).
Wzór: bity i przestrzeń kombinacji
Kalkulator liczy entropię jako H = L × log₂(N), gdzie L to długość hasła, a N to liczba możliwych znaków w zestawie. Przestrzeń wszystkich możliwych haseł to N^L — zbyt duża liczba, by ją wyświetlić w całości, dlatego pokazujemy jej logarytm dziesiętny (log₁₀(N^L) = L × log₁₀ N).
Rozmiary zestawów znaków
| Zestaw | Liczba znaków (N) | Bitów na znak (log₂N) |
|---|---|---|
| Małe litery a-z | 26 | ~4,70 |
| Małe + wielkie litery | 52 | ~5,70 |
| Alfanumeryczne (a-zA-Z0-9) | 62 | ~5,95 |
| Pełny ASCII (ze znakami specjalnymi) | 95 | ~6,57 |
Entropia a czas ataku brute-force
- Każdy dodatkowy bit entropii podwaja liczbę kombinacji do przeszukania — entropia rośnie znacznie szybciej niż długość hasła.
- Realny czas ataku zależy od tego, jak hasło jest przechowywane: szybki hash (MD5, SHA-1 bez soli) można sprawdzać miliardy razy na sekundę na GPU, a wolny hash (bcrypt, scrypt, Argon2) — tysiące razy wolniej.
- Entropia to górna granica trudności ataku offline; atak online (logowanie przez formularz) jest zwykle znacznie wolniejszy dzięki limitom prób (rate limiting, blokady konta).
Hasła ludzkie są słabsze niż losowe
Ten wzór zakłada równomiernie losowy wybór każdego znaku. W praktyce ludzie wybierają słowa ze słownika, popularne podstawienia (a→@, o→0) i schematy (rok, imię + cyfry) — realna entropia takiego hasła jest znacznie niższa niż wynik z tego kalkulatora. Dlatego frazy-hasła (passphrase) z kilku losowych słów bywają praktyczniej silniejsze niż krótkie "losowo wyglądające" hasła.
Przykłady
- 8 znaków, tylko małe litery (26) → ok. 37,6 bita — łatwe do złamania offline w rozsądnym czasie.
- 12 znaków, pełny ASCII (95) → ok. 78,8 bita — silne hasło przy dobrym hashowaniu.
- 16 znaków, alfanumeryczne (62) → ok. 95,3 bita — bardzo silne, komfortowy margines bezpieczeństwa.
FAQ — entropia hasła
- Ile bitów entropii jest "wystarczające"?
- Dla kont online z rozsądnym rate limitingiem 60–70 bitów zwykle wystarcza przy ataku online. Offline (skradziony hash) wymaga wyższych wartości i wolnego hashowania. Entropia to tylko jeden element: reuse, wycieki i MFA często ważą więcej niż kilka dodatkowych bitów.
- Czy ten kalkulator wie, czy moje hasło jest w wycieku danych?
- Nie — liczy tylko teoretyczną entropię na podstawie długości i zestawu znaków. Sprawdzenie wycieków (np. HaveIBeenPwned) to osobna, ważna kontrola.
- Czy dłuższe hasło jest zawsze lepsze niż bardziej złożone?
- Zwykle tak — dodanie znaków do długości hasła zwiększa entropię bardziej niż rozszerzenie zestawu znaków przy tej samej długości.
- Jak ustawić własny zestaw znaków ("custom")?
- Wybierz "Własna liczba znaków" i podaj rozmiar swojego alfabetu, np. 16 dla hex, 10 dla samych cyfr.
- Czym różni się to od kalkulatora kolizji hasha?
- Ten liczy siłę hasła (ile trzeba prób, aby je odgadnąć). Kalkulator kolizji liczy prawdopodobieństwo, że dwa różne dane dadzą ten sam skrót (hash) — to inny problem.
- Czy passphrase z kilku słów jest lepsza niż losowe znaki?
- Może być praktyczniej silniejsza i łatwiejsza do zapamiętania — 4-6 losowych słów ze słownika daje solidną entropię, jeśli słowa są naprawdę losowe (nie zdanie z sensem).
- Dlaczego wynik dla ludzkiego hasła jest "za wysoki"?
- Bo wzór zakłada pełną losowość. Realne hasła wybierane przez ludzi mają dużo niższą entropię efektywną — atakujący najpierw sprawdza słowniki i popularne wzorce.
- Jak entropia łączy się z hashowaniem hasła (bcrypt/Argon2)?
- Entropia mówi, ile prób trzeba wykonać w najgorszym przypadku. Wolny hash z odpowiednim "cost factor" mnoży czas każdej próby, więc razem dają realny czas potrzebny do złamania.