Dekoder JWT i weryfikator podpisów HMAC

Dekoduj nagłówki i ładunki JWT, sprawdzaj roszczenia i weryfikuj lokalnie podpisy HMAC SHA-256, SHA-384 oraz SHA-512.

Jak to działa
  • Opcjonalna weryfikacja obejmuje tylko algorytmy HMAC (HS256, HS384, HS512). W produkcji traktuj claims jako niezaufane, dopóki serwer ich nie zweryfikuje.

Pozostaw puste, aby tylko dekodować. Tylko HS256, HS384 i HS512.

O dekodowaniu i weryfikacji JWT

Czym jest JSON Web Token?

JSON Web Token (RFC 7519) składa się z nagłówka, ładunku i podpisu kryptograficznego.

Dekodowanie odczytuje nagłówek i roszczenia. Weryfikacja przelicza podpis HMAC sekretem. Wszystko działa lokalnie w Web Crypto.

Dekoduj i weryfikuj JWT w kodzie

JavaScript (Node.js)
const crypto = require("crypto");
const [header, payload, signature] = token.split(".");
const expected = crypto.createHmac("sha256", secret)
  .update(`${header}.${payload}`)
  .digest("base64url");
const isValid = crypto.timingSafeEqual(Buffer.from(signature), Buffer.from(expected));
Python
import hmac, hashlib, base64
header, payload, sig = token.split(".")
expected = base64.urlsafe_b64encode(
    hmac.new(secret.encode(), f"{header}.{payload}".encode(), hashlib.sha256).digest()
).decode().rstrip("=")
is_valid = hmac.compare_digest(sig, expected)

FAQ: dekodowanie JWT

Jaka jest różnica między dekodowaniem a weryfikacją?
Dekodowanie odczytuje ładunek. Weryfikacja sprawdza poprawność podpisu kryptograficznego.
Jakie algorytmy można weryfikować?
Obsługiwane są symetryczne algorytmy HMAC: HS256, HS384 i HS512.
Czy wklejanie tokenów produkcyjnych jest bezpieczne?
Tak. ToolingO działa w 100% lokalnie w Twojej przeglądarce.