§

Tryb generowania

§

Ustawienia znaków

Przeciągnij, aby ustawić długość hasła. Zakres: od 4 do 128 znaków.
Usuwa wizualnie podobne znaki: 0, O, o, 1, l, I, | oraz znak grawisu.
Zakres: od 1 do 50. Każdy wynik ma własny przycisk kopiowania; Kopiuj wszystko łączy je znakami nowej linii.
§

Wynik

    Polskie zespoły bezpieczeństwa generują hasła w ramach polityk wyrównujących się do rekomendacji UODO oraz wytycznych NASK i CERT Polska, które porzuciły obowiązkowe klasy złożoności na rzecz długości i losowości — ten kierunek odnajdziemy w przeglądach polityk haseł w PKO BP, ING Polska i ZUS. Polskie organizacje publiczne stosujące krajowe ramy cyberbezpieczeństwa podobnie faworyzują frazy hasłowe nad zestawy znaków specjalnych. Generator emituje kryptograficznie losowe ciągi znaków albo frazy hasłowe ze słownika wyłącznie przez Web Crypto API przeglądarki — nigdy przez `Math.random()`, nigdy z odbiciem od serwera. Przydatny do jednorazowych tokenów API, poświadczeń kont serwisowych oraz nasion w 1Password czy Bitwarden, które nie powinny nigdy pojawić się w historii przeglądarki.

    Co wyróżnia ten generator haseł?

    To generator haseł z prywatnością w pierwszej kolejności, działający wyłącznie w przeglądarce. Każdy losowy bajt pochodzi z kryptograficznego generatora liczb losowych Twojego systemu operacyjnego, dostępnego przez crypto.getRandomValues — nigdy z Math.random. Strona nie wykonuje żadnego żądania sieciowego, aby wygenerować hasło, a wygenerowana wartość nigdy nie opuszcza Twojej karty. Otwórz panel Sieć w DevTools i kliknij Generuj: pozostaje cichy.

    Jak działa ten generator haseł?

    Narzędzie działa w całości w JavaScripcie wewnątrz Twojej przeglądarki. Nie ma żadnego round-tripu do serwera, żadnego sygnału analitycznego przenoszącego hasło i żadnego zdalnego żądania o czcionkę po załadowaniu strony.

    1. Zalążek z CSPRNG systemu operacyjnego. Każda losowa liczba całkowita jest pobierana z crypto.getRandomValues(new Uint32Array(n)) — tego samego kryptograficznie bezpiecznego źródła, którego przeglądarka używa do materiału kluczy TLS oraz crypto.randomUUID. Math.random celowo nie jest nigdy wywoływane; grep w całym projekcie tego pilnuje.
    2. Składanie zestawu znaków. Tryb losowych znaków łączy włączone klasy znaków — wielkie litery, małe litery, cyfry, symbole — w jeden alfabet. Przełącznik 'Wyklucz dwuznaczne' następnie usuwa wizualnie podobne glify (0, O, o, 1, l, I, |, grawis), dzięki czemu hasło jest jednoznaczne, gdy odczytujesz je na głos lub przepisujesz ręcznie.
    3. Próbkowanie indeksu bez biasu. Naiwne mapowanie 32-bitowej liczby całkowitej bez znaku na indeks zestawu znaków (przez modulo) wprowadza niewielki bias, gdy rozmiar zestawu znaków nie dzieli 2^32 równo. Narzędzie używa próbkowania z odrzucaniem: każda próbka, która wpada w ogon modulo, jest odrzucana i pobierana ponownie, więc każdy znak w zestawie jest tak samo prawdopodobny.
    4. Generowanie hurtowe. W trybie losowych znaków możesz zażądać od 1 do 50 haseł jednym kliknięciem. Każdy wynik jest renderowany jako wiersz z własnym oszacowaniem entropii, kubełkiem siły i przyciskiem Kopiuj. Przycisk 'Kopiuj wszystko' łączy wiersze znakami nowej linii, dzięki czemu możesz wkleić je do pliku CSV lub pliku importu menedżera haseł.
    5. Tryb frazy hasłowej. Przełącz tryb, a strona leniwie pobiera EFF Short Wordlist #1 (1296 angielskich słów w domenie publicznej) przy pierwszym użyciu. Pięciowyrazowe frazy hasłowe dają około 51,7 bita entropii — wystarczająco dla codziennych kont i znacznie bardziej zapamiętywalne niż 9-znakowa losowa zupa. Po tym jednym żądaniu z tej samej domeny strona znów milczy.

    Dlaczego używać tego generatora haseł?

    • Twoje hasło nigdy nie opuszcza przeglądarki. Nie ma żadnego punktu końcowego na serwerze, żadnego wywołania analitycznego przenoszącego wartość, żadnej zdalnej czcionki, żadnej telemetrii. Otwórz DevTools, wygeneruj hasło i obserwuj, jak panel Sieć pozostaje pusty.
    • Kryptograficznie bezpieczna losowość z założenia. Każda liczba całkowita pochodzi z crypto.getRandomValues, z próbkowaniem z odrzucaniem przeciwko biasowi modulo. Najczęstszy błąd w przeglądarkowych generatorach haseł — używanie Math.random jako entropii — jest tu strukturalnie niemożliwy.
    • Dwa tryby, jedno narzędzie. Tryb losowych znaków produkuje ciągi o wysokiej entropii dla menedżerów haseł; tryb frazy hasłowej produkuje zapamiętywalne dla człowieka ciągi w stylu xkcd (correct-horse-battery-staple) oparte o EFF Short Wordlist #1. Ten sam model prywatności w obu.
    • Przejrzysta entropia. Każdy wygenerowany wiersz pokazuje swoją entropię w bitach i jasną etykietę siły, więc widzisz na pierwszy rzut oka, czy 12-znakowy ciąg bez symboli jest faktycznie tak silny jak 5-wyrazowa fraza hasłowa. Bez marketingowej waty, tylko liczby.

    Jakie są typowe zastosowania wygenerowanych haseł?

    Zawsze, gdy potrzebujesz świeżego losowego sekretu, to narzędzie minimalizuje powierzchnię zaufania:

    • Importy do menedżerów haseł. Wygeneruj 50 silnych haseł w jednej partii, kliknij Kopiuj wszystko, wklej do importu CSV swojego sejfu. Wartości nigdy nie przeszły przez żaden serwer, więc nie ma okna na wyciek między generowaniem a zapisem.
    • Główne frazy hasłowe. Przełącz się na tryb frazy hasłowej, wybierz 6 lub 7 słów, opcjonalnie z wielką literą w każdym słowie, a otrzymasz ciąg o wysokiej entropii, który możesz faktycznie zapamiętać bez zapisywania go. Około 62 bity entropii z 6 słów — znacznie powyżej progu dla ataku offline.
    • Klucze API i tokeny w projektach pobocznych. Potrzebujesz jednorazowego współdzielonego sekretu dla klucza podpisującego webhook lub hasła deweloperskiej bazy danych? Wygeneruj tutaj 32-znakowy ciąg bogaty w symbole, skopiuj raz, a jedynym miejscem, w którym istniał w transmisji, była Twoja własna karta przeglądarki.

    Jak wygląda przykład wygenerowanego hasła?

    Ustaw długość na 16, pozostaw włączone wszystkie cztery klasy znaków i kliknij Generuj. Zestaw znaków ma 26 + 26 + 10 + 32 = 94 znaki, więc każdy wygenerowany znak niesie log2(94) ≈ 6,55 bita entropii. Szesnaście znaków daje około 104,9 bita — znacznie powyżej progu 'bardzo silne' wynoszącego 80 bitów i praktycznie niemożliwe do złamania siłowego z aktualnym sprzętem. Teraz przełącz się na tryb frazy hasłowej, wybierz 5 słów z domyślnym separatorem-myślnikiem: cocktail-sprig-aspect-magenta-tonic niesie log2(1296) x 5 ≈ 51,7 bita. Zapamiętywalne, do wpisania i silniejsze niż przeciętne hasło wybrane przez człowieka.

    Generuj, kopiuj, działaj dalej. Strona nigdy nie widzi serwera, hasło nigdy nie opuszcza karty, a entropia jest obliczana od podstaw. Taka jest cała obietnica.