Generator haseł

Twórz silne, losowe hasła w przeglądarce. Wybierz długość i typy znaków, pomiń znaki łatwe do pomylenia i wygeneruj do 100 haseł naraz – wraz z oceną siły i entropią w bitach.

Długość

Działa w całości w przeglądarce. Nic nie jest wysyłane.

Jak używać

  1. Ustaw długość suwakiem lub w polu liczbowym. 16 znaków lub więcej to dobra wartość domyślna dla haseł przechowywanych w menedżerze haseł.
  2. Wybierz typy znaków: wielkie litery, małe litery, cyfry i znaki specjalne. Opcja „Uwzględnij każdy wybrany typ” jest domyślnie włączona i sprawia, że każde hasło zawiera co najmniej jeden znak każdego wybranego typu.
  3. W razie potrzeby zaznacz „Wyklucz podobne znaki” (np. l, 1 i O) lub „Wyklucz niejednoznaczne znaki specjalne” albo wpisz w polu „Wyklucz znaki” konkretne znaki, których dana witryna nie akceptuje.
  4. Kliknij „Generuj”, sprawdź wskaźnik „Siła hasła” i entropię, a następnie skopiuj jedno hasło lub kliknij „Kopiuj wszystko”.

Co sprawia, że hasło jest silne

W przypadku losowo wygenerowanego hasła siłę mierzy się entropią: length × log2(pool size) bitów, gdzie length to długość hasła, a pool size – rozmiar puli, czyli zbioru znaków, z którego hasło jest losowane. Każdy dodatkowy bit podwaja liczbę prób potrzebnych do odgadnięcia hasła. Długość mnoży entropię, a większa pula dodaje niewiele na każdy znak, więc długość wygrywa: 16-znakowe hasło z samych małych liter ma około 11 milionów razy więcej możliwych wartości niż 8-znakowe, które łączy wszystkie cztery typy znaków.

DługośćZnakiPulaEntropia
4Cyfry (PIN)1013,3 bita
8Małe litery2637,6 bita
8Wszystkie cztery typy8951,8 bita
12Litery i cyfry6271,5 bita
16Małe litery2675,2 bita
16Wszystkie cztery typy89103,6 bita
20Wszystkie cztery typy89129,5 bita

Wszystkie cztery typy dają tu pulę 89 znaków: 26 + 26 + 10 + 27 znaków specjalnych. Narzędzie pokazuje entropię zaokrągloną w dół do pełnych bitów. Te wartości dotyczą wyłącznie haseł losowych; hasło wymyślone przez człowieka ma znacznie mniejszą entropię, niż sugerowałaby jego długość.

Co zaleca NIST SP 800-63B

NIST SP 800-63B – amerykańskie federalne wytyczne dotyczące uwierzytelniania cyfrowego – są skierowane do usług, które sprawdzają hasła. Według ich obecnej wersji, SP 800-63B-4, takie usługi:

  • muszą wymagać co najmniej 15 znaków, gdy hasło jest jedynym składnikiem uwierzytelniania, lub 8 znaków w połączeniu z innym składnikiem, i powinny dopuszczać co najmniej 64 znaki;
  • nie mogą narzucać reguł złożoności w rodzaju „jedna wielka litera, jedna cyfra i jeden znak specjalny” ani okresowej zmiany hasła, ale muszą wymusić zmianę, gdy istnieją dowody, że hasło zostało przejęte;
  • muszą porównywać nowe hasła z listą zablokowanych haseł – często używanych, przewidywalnych lub ujawnionych w wyciekach;
  • powinny akceptować wszystkie drukowalne znaki ASCII oraz spację i pozwalać na wklejanie, aby można było korzystać z menedżerów haseł.

Wniosek dla użytkowników jest taki sam: liczą się długość i losowość, a przewidywalne podstawienia w rodzaju P@ssw0rd1 nic nie dają.

Menedżery haseł i frazy hasłowe

Hasło używane w wielu miejscach jest często większym zagrożeniem niż krótkie: po wycieku danych atakujący sprawdzają ujawnione pary adresów e-mail i haseł w innych serwisach (credential stuffing). Używaj innego losowego hasła do każdego konta i pozwól, by zapamiętywał je menedżer haseł; wtedy hasło 20-znakowe nie wymaga więcej wysiłku niż 8-znakowe.

W przypadku tych kilku haseł, które wpisujesz z pamięci, takich jak hasło główne menedżera, wygodniejsza jest fraza hasłowa: losowo wybrane słowa, np. wylosowane kostką z długiej listy słów EFF. Każde słowo z tej listy liczącej 7776 pozycji dodaje około 12,9 bita, więc sześć słów daje około 77,5 bita. To narzędzie tworzy hasła złożone ze znaków, a nie frazy hasłowe; do kluczy API i innych sekretów używanych przez maszyny użyj generatora losowego Base64.

Jak działa ten generator

Hasła powstają na urządzeniu za pomocą crypto.getRandomValues(), kryptograficznie bezpiecznego generatora liczb losowych wbudowanego w przeglądarkę, i nigdy nie są wysyłane ani zapisywane. Zwykła operacja modulo sprawiałaby, że niektóre znaki byłyby nieco bardziej prawdopodobne, dlatego narzędzie stosuje próbkowanie z odrzucaniem: 32-bitowe wartości losowe równe największej wielokrotności rozmiaru puli lub od niej większe są losowane ponownie, dzięki czemu każdy znak jest dokładnie tak samo prawdopodobny.

Opcja Wyklucz podobne znaki usuwa i l 1 L o 0 O, co przydaje się, gdy hasło jest odczytywane na głos lub przepisywane z kartki, jak w przypadku haseł do Wi-Fi. Opcja Wyklucz niejednoznaczne znaki specjalne usuwa nawiasy, ukośnik, tyldę oraz , ; : ., z którymi niektóre formularze, powłoki i pliki konfiguracyjne radzą sobie źle, i zostawia ! @ # $ % ^ & * - _ = + ?. Obie opcje zmniejszają pulę, więc warto to zrekompensować, dodając jeden lub dwa znaki.

Najczęściej zadawane pytania

Jak długie powinno być hasło?

Co najmniej 15 znaków w przypadku konta chronionego wyłącznie hasłem – to minimum, jakie NIST SP 800-63B-4 wyznacza dla haseł będących jedynym składnikiem uwierzytelniania. Jeśli korzystasz z menedżera haseł, 16–24 losowe znaki nic cię nie kosztują. W przypadku haseł wpisywanych często rozważ frazę hasłową z pięciu lub sześciu losowych słów.

Czy korzystanie z hasła wygenerowanego na stronie internetowej jest bezpieczne?
Może być, o ile hasło powstaje na urządzeniu i nigdy go nie opuszcza. Ten generator działa w całości w przeglądarce i korzysta z crypto.getRandomValues(), a hasła nie są przesyłane, rejestrowane ani zapisywane. Skopiuj potrzebne hasło bezpośrednio do menedżera haseł.
Co oznacza entropia w bitach?

To logarytm o podstawie 2 z liczby haseł, które mogą powstać przy wybranych ustawieniach. 80 bitów oznacza 2 do potęgi 80 możliwych haseł, a każdy dodatkowy bit podwaja pracę potrzebną do odgadnięcia hasła. Entropia opisuje sposób wygenerowania hasła, więc dotyczy tylko haseł losowych.

Czy należy regularnie zmieniać hasła?

Nie według stałego harmonogramu. NIST SP 800-63B-4 zobowiązuje usługi, by nie wymuszały okresowej zmiany, ponieważ ludzie reagują na nią przewidywalnymi wariacjami hasła. Zmień hasło, gdy usługa zgłosi wyciek danych, gdy hasło pojawi się w wycieku lub gdy podejrzewasz, że ktoś inny je zna.

Czy wymaganie każdego typu znaków sprawia, że hasło jest silniejsze?

Nie. Domyślnie włączona opcja „Uwzględnij każdy wybrany typ” ma jedynie zagwarantować, że hasło zostanie przyjęte przez witryny z regułami złożoności. Narzędzie odrzuca i generuje ponownie hasła, w których brakuje któregoś z wybranych typów, co wyklucza część kombinacji i nieznacznie obniża rzeczywistą entropię – najbardziej zauważalnie w krótkich hasłach – więc pokazana wartość jest górnym ograniczeniem. Lepszym sposobem na zwiększenie siły hasła jest większa długość.