Generator haseł
Losowe hasła z wyborem zestawu znaków i uczciwym miernikiem entropii
O tym narzędziu
Generuj losowe hasła o wybranej długości i z wybranych zestawów znaków, w razie potrzeby hurtowo, z uczciwym wyliczeniem entropii — bitami losowości, a nie ozdobnym kolorowym paskiem. Losowość pochodzi z crypto.getRandomValues z próbkowaniem odrzucającym, więc każdy znak losowany jest równomiernie, bez obciążenia wynikającego z reszty z dzielenia.
Z każdego włączonego zestawu znaków gwarantowany jest co najmniej jeden przedstawiciel (polityka wymuszana przez wiele serwisów), potem reszta hasła dopełniana jest równomiernie, a całość zostaje przetasowana — dzięki temu gwarantowane znaki nie skupiają się przewidywalnie na początku.
Filtr znaków niejednoznacznych usuwa bliźniaki (0/O, 1/l/I) z myślą o hasłach, które człowiek może kiedyś przeczytać na głos albo przepisać z kartki. Ponieważ generowanie jest lokalne, hasła istnieją wyłącznie na Twojej maszynie, dopóki gdzieś ich nie zapiszesz.
Często zadawane pytania
- Co oznaczają bity entropii?
- Entropia = długość × log2(rozmiar puli): liczba jednakowo prawdopodobnych możliwości, które musi przeszukać atakujący. 64 bity wytrzymują przypadkowy atak; 80 i więcej jest mocne wobec offline’owego łamania szybkich skrótów; 100 i więcej jest praktycznie nie do odgadnięcia. Szesnastoznakowe hasło z liter, cyfr i symboli to około 104 bity.
- Czy długie hasło z samych małych liter jest lepsze niż krótkie i skomplikowane?
- Często tak — długość mnoży entropię, a dodatkowe zestawy jedynie poszerzają podstawę logarytmu. 20 małych liter (~94 bity) bije 10 znaków w pełni wymieszanych (~65 bitów). Reguły złożoności istnieją głównie po to, by pokonać listy słów, a losowe generowanie i tak je pokonuje.
- Czy generowanie haseł w przeglądarce jest bezpieczne?
- Losowość (crypto.getRandomValues) to ten sam CSPRNG, którego używają natywne menedżery haseł, a ta strona nie wykonuje z Twoimi danymi żadnych żądań sieciowych. Realne ryzyka dotyczą tego, co dzieje się po wygenerowaniu: historii schowka, udostępniania ekranu i miejsca, w którym hasło przechowasz.
- Po co wykluczać znaki niejednoznaczne?
- Dla haseł, które przeczyta człowiek — wydrukowanych kodów odzyskiwania, dyktowanych przez telefon, przepisywanych z innego ekranu — 0/O oraz 1/l/I generują realne zgłoszenia do wsparcia. Przy hasłach tylko wklejanych zostaw je; strata entropii przy wykluczeniu jest tak czy inaczej niewielka.