// CRYPTOGRAPHIC TOOLS

Password Generator

Generate secure, random passwords client-side

••••••••••••••••••••
Strength

20

Jak działa ten generator

Każdy znak jest pobierany z crypto.getRandomValues() — tego samego kryptograficznego generatora liczb losowych, którego twoja przeglądarka używa do uzgodnień TLS i operacji WebCrypto. Pobiera entropię z jądra systemu operacyjnego, a nie z polyfilla JavaScript Math.random().

Stosujemy również rejection sampling przy mapowaniu losowych bajtów na indeksy znaków. To mały szczegół, który większość generatorów haseł robi źle: jeśli po prostu obliczysz losowyBajt % rozmiarZbioruZnaków, wprowadzasz mały, ale rzeczywisty błąd na korzyść niższych znaków w zbiorze (ponieważ 256 nie dzieli się równo przez np. 94). Błąd jest zwykle zbyt mały, aby być istotny, ale dla narzędzia jawnie reklamowanego jako kryptograficzne, poprawność ma znaczenie.

Dwa zestawy symboli, wyjaśnienie

Wybór znaków symboli dla haseł jest trudniejszy niż się wydaje. Pełny zestaw symboli (!@#$%^&*()-_=+[]{};:,.<>?/|~\'\"\\`) dostarcza więcej entropii na znak, ale tworzy tarcie:

Domyślnie używamy bezpiecznego zestawu (!@#$%&*-_=+.?), który działa w 95%+ formularzy. Jeśli potrzebujesz maksymalnej entropii, a cel akceptuje wszystko, włącz "Rozszerzony zestaw" dla pełnego zestawu.

Co oznacza "silne"

Pasek siły opiera się na entropii Shannona — liczbie losowych bitów w twoim haśle. Każdy bit podwaja liczbę prób potrzebnych do złamania go brute force.

Ocena Entropia Czas brute-force przy 1T prób/s
Słabe < 28 bitów Sekundy
Średnie 28–49 bitów Godziny do dni
Silne 50–71 bitów Dekady
Bardzo silne 72+ bitów Wieki

Dlaczego nic nie jest zapisywane

Ta strona nie przechowuje twojego hasła nigdzie. Wygenerowany ciąg żyje w pamięci przeglądarki, dopóki nie przeładujesz, nie skopiujesz lub nie wygenerujesz nowego. Bez localStorage, bez wywołań fetch, bez zdarzeń analitycznych z hasłem. Strona nawet nie generuje go automatycznie przy ładowaniu — naciskasz Generuj, gdy go potrzebujesz.

Ataki online vs offline — dlaczego to samo hasło jest jednocześnie "słabe" i "w porządku"

Gdy wpisujesz hasło w formularzu logowania webowego, twoja próba jest sprawdzana przez serwer strony. Nowoczesne serwisy uważnie to obserwują: po trzech lub pięciu błędnych próbach konto jest tymczasowo blokowane, wymagana jest captcha, lub wysyłany email o "podejrzanej aktywności". Nawet z wycieklą listą haseł atakujący może wypróbować może 5-10 prób na minutę zanim zostanie zablokowany — a nawet z małą armią botów rozdzielającą próby, trudno przekroczyć kilkaset na godzinę. To nazywa się rate limiting (ograniczenie tempa). Przeciwko atakującemu ograniczonemu do kilkuset prób na godzinę, hasło 8-znakowe z małych liter (28 bitów entropii, ~200 miliardów możliwości) jest OK. Po prostu nie może wypróbować wystarczająco.

Scenariusz katastrofy jest inny. Strony są hakowane, bazy danych wyciekają, sejfy haseł są kradzione, zaszyfrowane kopie zapasowe są wykradane. Gdy to się dzieje, atakujący ma *kopię* danych na własnej maszynie. Bez rate limit. Bez blokady. Może rzucić na to farmę GPU — miliardy prób na sekundę. To samo 8-znakowe hasło, które trzymało się wiecznie przeciwko loginowi strony, pada w kilka sekund. Model zagrożenia odwraca się w momencie, gdy dane opuszczają kontrolowane środowisko serwera.

Dlatego to samo hasło pojawia się jako "słabe" na pasku, mimo że dla większości zastosowań jest doskonale bezpieczne. Pasek zakłada najgorszy przypadek: ktoś ma zaszyfrowany blob i może atakować offline z pełną prędkością.

Co naprawdę robi dla ciebie menedżer haseł

Menedżer haseł rozwiązuje problem ataku offline w sposób, którego ludzie sami nie potrafią: pozwala ci używać unikalnego losowego hasła 20+ znaków dla każdej strony, bez konieczności pamiętania żadnego z nich. Zapamiętujesz jedno hasło główne — twoje, wybrane starannie, długie, idealnie ze słowami których nigdy nie zapomnisz — a menedżer zajmuje się resztą. Gdy strona zostaje zhakowana, ujawnione jest tylko to konkretne hasło, a jest to 20-znakowy losowy ciąg, którego żaden atak offline nie złamie w użytecznym czasie. Promień katastrofy spada z "wszystkie moje konta" do "to konkretne konto, które wymienię".

Jeśli dziś nie używasz menedżera haseł, to może być największy upgrade bezpieczeństwa haseł dostępny dla ciebie, i kosztuje mniej niż kawa miesięcznie (lub jest darmowy w niektórych przypadkach). Nasz generator istnieje dla momentu, gdy potrzebujesz silnego losowego hasła i nie chcesz myśleć — ale hasło, które ci daje, jest najbardziej użyteczne gdy przechowywane gdzieś trwałym, nie zapamiętane.