CalcMint

Dekoder i generator JWT

Wklej JSON Web Token, aby odczytać nagłówek i claimy, sprawdzić, kiedy wygasa, i zweryfikować podpis. Twój token nie opuszcza tej strony.

Dekoder i generator JWT

eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJzdWIiOiIxMjM0NTY3ODkwIiwibmFtZSI6IkphbmUgRG9lIiwiYWRtaW4iOnRydWUsImlhdCI6MTc2NzIyNTYwMCwiZXhwIjoxODkzNDU2MDAwfQ.vgHtS5dyaSUxDoPpQPoyaFVrg5I8B0EV9R0_Ah59pxU

Header

{
  "alg": "HS256",
  "typ": "JWT"
}

Payload

{
  "sub": "1234567890",
  "name": "Jane Doe",
  "admin": true,
  "iat": 1767225600,
  "exp": 1893456000
}
Algorytm (alg)
HS256
Typ (typ)
JWT
Podmiot (sub)
1234567890
Wystawiono (iat)
czwartek, 1 stycznia 2026 09:00:00 GMT+9
Wygasa (exp)
wtorek, 1 stycznia 2030 09:00:00 GMT+9
UdostępnijXFacebookReddit
Dodaj ten kalkulator na swoją stronę

Skopiuj kod i wklej go do HTML-a swojej strony. To nic nie kosztuje – prosimy tylko o pozostawienie linku do źródła.

Jak zbudowany jest JWT

JSON Web Token (RFC 7519) to trzy ciągi Base64URL połączone kropkami: header.payload.podpis. Nagłówek (header) mówi, jakim algorytmem token podpisano, payload zawiera claimy (ID użytkownika, role, czas wygaśnięcia), a podpis jest liczony z dwóch pierwszych części.

W HS256 podpis to HMAC tworzony za pomocą wspólnego sekretu, więc ten sam sekret służy do podpisywania i weryfikacji. RS256, PS256 i ES256 podpisują kluczem prywatnym, a weryfikują kluczem publicznym, dzięki czemu wiele usług może sprawdzać tokeny, nie mogąc ich tworzyć.

Jak bezpiecznie sprawdzać token

  • Zawsze weryfikuj podpis po stronie serwera i odrzucaj alg "none".
  • Ustal z góry oczekiwany algorytm: nie pozwól, by wybierał go nagłówek tokena.
  • Sprawdzaj exp, nbf, iss i aud, z minutą lub dwiema tolerancji na rozbieżność zegarów.
  • Używaj krótko żyjących tokenów i traktuj je jak hasła: ten dekoder działa offline, ale wiele dekoderów online wysyła token na serwer.

Zarejestrowane claimy JWT (RFC 7519)

ClaimNazwaZnaczenie
issWystawcaKto utworzył i podpisał token
subPodmiotKogo dotyczy token, zwykle ID użytkownika
audOdbiorcaDla kogo przeznaczony jest token
expCzas wygaśnięciaSekundy od 1970, po których token trzeba odrzucić
nbfNie wcześniej niżSekundy od 1970, przed którymi token trzeba odrzucić
iatWydanyKiedy token został utworzony
jtiID JWTUnikalny identyfikator chroniący przed ponownym użyciem tokena

Najczęstsze pytania

Czy każdy może odczytać JWT?

Tak. Nagłówek i payload są tylko zakodowane w Base64URL, a nie zaszyfrowane, więc każdy, kto ma token, może je odczytać. Nigdy nie umieszczaj w payloadzie JWT haseł ani sekretów.

Czy dekodowanie JWT sprawdza, czy jest ważny?

Nie. Dekodowanie tylko odczytuje zawartość. Dopiero weryfikacja podpisu właściwym sekretem lub kluczem publicznym dowodzi, że token nie został podrobiony ani zmieniony, a serwer musi dodatkowo sprawdzić exp, nbf i aud.

Dlaczego mój token jest wygasły, skoro dopiero go wydano?

exp, iat i nbf to sekundy od 1970 roku, a nie milisekundy. Token zbudowany z Date.now() z JavaScriptu (milisekundy) bez dzielenia przez 1000 wygląda, jakby wygasał za dziesiątki tysięcy lat, a różnice zegarów między serwerami mogą sprawić, że świeży token wygląda na wygasły albo jeszcze nieważny.

Czy to, co wklejam, trafia na serwer?

Nie. To narzędzie działa w całości w twojej przeglądarce, z użyciem JavaScriptu i wbudowanego Web Crypto API. Nic, co wpiszesz, wkleisz lub otworzysz, nie jest wysyłane ani zapisywane.

Podobne kalkulatory