O tym generatorze
To ustawienie wstępne tworzy bezpieczną dla URL wartość o wysokiej entropii do podpisywania HMAC JWT. Jest to sekret programisty, nie hasło użytkownika, i nigdy nie opuszcza tej przeglądarki.
Ten preset uruchamia się w trybie url-safe i generuje 10 niezależnych wyników jednocześnie. Każde widoczne ustawienie można dostosować, a wygenerowane wartości nie są wysyłane do PwdGen.
Kiedy używać
- Tworzenie nowego poświadczenia dla tego konkretnego przypadku użycia
- Zastąpienie ponownie używanego lub słabego hasła
- Generowanie wartości lokalnie przed bezpiecznym przechowywaniem
Rozmiar alfabetu, entropia i założenia dotyczące ataku brute-force
Teoretyczny sufit entropii oblicza się jako H = L × log2(A), gdzie L to długość wygenerowanego ciągu, a A to liczba aktualnie dozwolonych znaków.
| Długość | Alfabet | Przestrzeń poszukiwań | Sufit entropii | Średnio przy 10 miliardach zgadywań/s |
|---|---|---|---|---|
| 64 | 64 | 6464 | 384.0 bitów | 6.24e97 years |
Ważne: są to matematyczne szacunki dla jednostajnie losowych wartości. Wymagane pozycje, ograniczone liczby, powtarzane hasła, wzorce słownikowe, wyciekłe poświadczenia i rzeczywiste koszty haszowania haseł mogą znacząco zmienić wynik. Liczba ta nie jest gwarancją bezpieczeństwa.
Wskazówki dotyczące wdrażania klucza podpisu JWT
Dla HS256 używaj co najmniej 256 bitów jednostajnie losowego materiału klucza. HS384 i HS512 używają różnych rozmiarów wyjścia SHA-2, ale wybór dłuższego algorytmu nie naprawia słabej weryfikacji, wyciekłych kluczy ani błędów związanych z pomyleniem algorytmów.
Równoważne generowanie w terminalu i Node.js
openssl rand -hex 32 import { randomBytes } from 'node:crypto';
const jwtSecret = randomBytes(32).toString('hex'); Przechowywanie i rotacja
- Trzymaj klucze podpisu poza Git, pakietami frontendowymi, URL-ami, analityką i logami aplikacji.
- Użyj menedżera sekretów, Vault, KMS lub chronionej zmiennej środowiskowej.
- Stosuj kontrolowaną strategię kid podczas rotacji kluczy.
- Wybierz RS256 lub ES256, gdy weryfikatory powinny przechowywać tylko klucz publiczny.
Hex, Base64 i Base64URL to kodowania – nie szyfrowanie. Bezpieczeństwo pochodzi z losowych bajtów i sposobu ochrony klucza podpisu.
Jak bezpiecznie używać wyniku
- Sprawdź aktualne zasady dotyczące haseł w miejscu docelowym
- Użyj unikalnego wyniku i włącz MFA, jeśli jest dostępne
- Przechowuj kody odzyskiwania oddzielnie od hasła
Metoda generowania i prywatność
Preset używa przeglądarkowego Web Crypto API do losowego wyboru. Regenerowanie, zmiana ustawień, zaznaczanie i kopiowanie wyników nie wysyła wygenerowanych poświadczeń do PwdGen. Oszacowanie czasu złamania hasła również działa lokalnie i jest szacunkiem, a nie gwarancją.
Generator sekretu JWT FAQ
Jak długi powinien być sekret HS256 JWT?
Użyj co najmniej 256 bitów jednolicie losowego materiału klucza dla HS256. Ta strona generuje 64-znakową wartość alfabetu Base64URL, co zapewnia większą teoretyczną przestrzeń poszukiwań przy jednolitym generowaniu.
Czy sekret JWT powinien być przechowywany w zmiennej środowiskowej?
Zmienna środowiskowa jest bezpieczniejsza niż kod źródłowy, ale może nadal wyciekać przez inspekcję procesu, logi lub narzędzia wdrożeniowe. Zarządzany magazyn sekretów lub KMS jest preferowany w systemach produkcyjnych.
Kiedy powinienem użyć RS256 lub ES256 zamiast HMAC?
Użyj podpisywania asymetrycznego, gdy weryfikatorzy nie powinni posiadać prywatnego klucza podpisywania lub gdy wiele usług potrzebuje weryfikacji kluczem publicznym. Chroń klucz prywatny i rotuj klucze za pomocą kontrolowanej strategii identyfikatora klucza.