JWT 偵錯程式 / 解碼器

粘貼任意 JWT 即可解碼它用點分隔的三段——base64url 的頭部、載荷與簽名會以美化打印的 JSON 呈現,註冊聲明(exp、iat、nbf 等)會換算成本地時間。隨後可用 WebCrypto API 驗證簽名:使用密鑰的 HMAC(HS256/384/512),或使用 PEM 公鑰的 RSA/ECDSA(RS256/384/512、ES256/384/512)。上方有一個 HS256 示例令牌可一鍵試用。全部在本地運行——令牌、密鑰與公鑰都不會被髮送到任何地方。
JWT 令牌 格式:header.payload.signature(三段 base64url,以點分隔)
警告:這個令牌聲明瞭 alg:none,即它沒有簽名。真實服務必須拒絕未簽名的令牌。
宣告值解讀
共享金鑰(Secret)
當前上下文中 crypto.subtle 不可用,簽名驗證已被停用。請通過 https: 或從本地檔案開啟本頁。
如何解讀結果:頭部通常帶有 alg(簽名算法)與 typ。換算成本地時間顯示的註冊聲明有 iat(簽發時間)、nbf(生效時間)與 exp(過期時間)——紅色徽章表示令牌已過期,黃色表示 24 小時內過期。簽名驗證會計算簽發方同樣的 MAC,或檢查你粘貼的 RSA/ECDSA 公鑰,然後把令牌標記為 VALID 或 INVALID。只有瀏覽器 WebCrypto 層實現的算法才能驗證;其他算法會報告為不支持,而不是猜測。

常見註冊聲明:sub(主題)是令牌所涉及的用戶或實體——在你的樣例中它只是一個數字 ID,但服務通常會在這裡放郵箱、用戶名或 UUID。iss 指明簽發者,aud 指明預期受眾,jti 是防止重放的唯一令牌 ID。這些聲明不加密;拿到令牌的人都能讀取,因此絕不要把密碼或密鑰放進 JWT 載荷。

隱私:解碼與驗證完全在本頁通過 WebCrypto API 進行——令牌、你的密鑰和任何公鑰都不會被傳輸。對於 alg:none 令牌,頁面會給出明確警告:真正的 API 永遠不應接受未簽名的令牌。