tomai
登入
免費 · 開發者工具

JWT 解析與驗簽

解碼 JSON Web Token 並驗證 HS/RS/ES/PS 簽章 —— 全程在瀏覽器完成

編碼後的 Token
HEADER
PAYLOAD

什麼是 JWT 解析器?

JWT(JSON Web Token)是現代 Web 應用最常見的驗證憑證,由 Header、Payload 和簽章三部分組成。Payload 裡存著使用者資訊、到期時間等資料,但看起來只是一串亂碼般的 base64 文字。這個工具能把 Header 和 Payload 解碼成易讀的 JSON,把 exp、nbf、iat 等註冊宣告翻成白話並顯示具體日期,還會用狀態徽章告訴你 token 是已過期、有效還是尚未生效。它還能驗證簽章:HS256/384/512 用共用密鑰,RS/PS/ES 用 PEM 公鑰,全部基於瀏覽器內建的 Web Crypto。開發者除錯登入流程時,不用再把正式環境的 token 貼給第三方網站。

這款工具能做什麼

  • 📖 將 Header 與 Payload 解碼為格式化的 JSON
  • 🏷️ 對註冊宣告逐條給出白話說明
  • ⏳ exp、nbf、iat 同時顯示精確時間與相對時間
  • ✅ 使用密鑰驗證 HS256/384/512 簽章
  • 🔏 使用 PEM 公鑰驗證 RS/PS/ES 簽章
  • 🚦 已過期 / 有效 / 尚未生效狀態徽章
  • ⚠️ 對 alg 為 none 的不安全 token 提出警告

什麼時候會用到

  • 排查登入介面回傳 401 的原因
  • 檢查某個 token 為什麼突然失效
  • 信任第三方身分提供者簽發的 token 之前先驗證
  • 查看重新整理權杖裡到底有哪些宣告

隱私:token 和密鑰都在瀏覽器本地處理,不會上傳到任何伺服器,貼上真實憑證也完全放心。

三段結構到底是什麼

JWT 是用點號串起的三段 base64url:

  • header 寫明演算法;payload 裝著宣告;signature 用金鑰把前兩段綁在一起。
  • header/payload 完全沒有加密——任何拿到權杖的人都能讀出全部宣告。這是設計使然:JWT 是簽章容器,不是保險箱。
  • 驗證需要簽署金鑰且只應發生在你的伺服器上;本頁在本機解碼,讓你不必把權杖交給遠端就能檢查內容。

解碼不等於驗證

聲明變成真實日期

標頭與載荷以可讀 JSON 呈現,exp、nbf、iat 等註冊聲明會轉成真實日期,並明確給出已過期、有效或尚未生效的判定。

🔒

HS、RS、PS、ES 簽章驗證

HS256/384/512 可用明文或 base64 形式的共用密鑰驗證,RS、PS、ES 令牌可用 PEM 公鑰驗證,全部透過頁面內的 Web Crypto 完成。

🎯

格式錯誤的令牌有明確說明

結構問題會被精確報告——缺少分隔點、標頭無效、載荷無法讀取——聲稱使用 none 演算法的令牌會被標記出來而非直接信任。

常見問題

我的 token 會被傳送到伺服器嗎?

不會。解碼和簽章驗證全部使用瀏覽器的 Web Crypto API 在本機完成。你的 token、金鑰和公鑰絕不離開裝置,因此可以安全地檢查正式環境 token。

支援驗證哪些簽章演算法?

支援帶共享金鑰的 HS256/384/512(金鑰可為 UTF-8 或 base64url),以及非對稱的 RS256/384/512、PS256/384/512、ES256/384/512——貼上 PEM 公鑰即可。非對稱 token 只需公鑰,絕不需要私鑰。

JWT 並未加密,這意味著什麼?

標準 JWT 只是 base64url 編碼並簽章,並未加密,因此任何人都能讀取其 Payload。切勿在 JWT 中放入機密資訊。簽章只能證明 token 未被無金鑰者竄改。

顯示簽章無效——是權杖被偽造了嗎?

多半是三個平淡的原因之一:權杖由另一個環境的金鑰簽發;簽發方輪換了金鑰而你手上的還是舊的;或 header 的演算法與驗證端預期不符(惡名昭彰的 alg=none 把戲)。先用這裡解碼看 header,再與後端實際使用的金鑰核對。

相關工具

相關工具