跳至主要內容
FreeOnlineTools Go
繁體中文
如何

如何安全地解碼 JWT 令牌並檢查宣告

作者:FreeOnlineTools Team · 更新日期:2026-09-02

快速解答

若要解碼 JWT:將令牌貼到 JWT 解碼器中,標頭和有效負載會立即顯示為 JSON 格式。該工具在本地解碼 Base64URL 編碼的部分 - 您的令牌永遠不會離開您的瀏覽器。請記住:解碼僅顯示內容;它不驗證簽名。

介紹

JWT (JSON Web 令牌) 是一種緊湊的、URL 安全的令牌格式,用於身份驗證和資訊交換。 JWT 三個由點分隔的部分: header.payload.signature。標頭指定演算法和令牌類型,有效負載包含聲明(使用者 ID、角色、過期時間),簽名證明令牌未被竄改。解碼 JWT 可以讓您檢查其內容以進行調試 - 但解碼並不能驗證真實性。本指南向您展示如何在瀏覽器中安全地解碼 JWT。

步步

  1. 開啟JWT解碼器工具

    進入JWT解碼器工具頁。此工具接受任何 JWT 字串(由點分隔的三個 Base64URL 編碼部分)。

  2. 貼上您的 JWT 令牌

    將 JWT 貼到輸入欄位中。典型的 JWT 如下:eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJ1c2VyMSJ9.signature。該工具自動檢測這三個部分。

  3. 查看解碼後的標頭

    該工具 Base64URL 解碼第一部分並將其顯示為 JSON。標頭通常包含“alg”(演算法,例如 HS256)和“typ”(類型,通常為“JWT”)。

  4. 檢查解碼後的有效負載(聲明)

    該工具對第二部分進行解碼,並將聲明顯示為 JSON 格式。常見聲明包括「sub」(主題/使用者 ID)、「iat」(發佈於)、「exp」(過期)和「role」(使用者角色)。

  5. 檢查簽名(第三部分)

    該工具顯示簽名部分。注意:解碼不驗證簽名。要進行驗證,您需要簽署金鑰和驗證庫。在未驗證簽章伺服器端的情況下,切勿相信 JWT 的宣告。

範例

解碼一個簡單的 JWT

輸入: eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJzdWIiOiJ1c2VyMSIsIm5hbWUiOiJBbGljZSIsImlhdCI6MTY5MzUyNjQwMH0.signature

輸出: Header: {"alg":"HS256","typ":"JWT"} Payload: {"sub":"user1","name":"Alice","iat":1693526400}

JWT 帶有過期聲明

輸入: eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJhZG1pbiIsImV4cCI6MTY5MzYxMjgwMH0.sig

輸出: Header: {"alg":"HS256"} Payload: {"sub":"admin","exp":1693612800}

常見問題

  • 混淆解碼和驗證 — 解碼 JWT 僅讀取其內容;它不能證明令牌是真實的。始終使用簽名密鑰驗證簽名伺服器端。
  • 信任過期的令牌 - 檢查「exp」聲明並拒絕過期的令牌。 “exp”值是以秒為單位的 Unix 時間戳記。
  • Base64 與 Base64URL —JWT 使用 Base64URL 編碼(無填充,- 和 _ 代替 + 和 /)。標準 Base64 解碼器在 JWT 元件上將會失敗。
  • 任何擁有令牌的人都可以讀取有效負載 —JWT 有效負載中的敏感資料。不要在有效負載中儲存密碼、信用卡號或其他機密。

提示

  • 在信任任何聲明之前,請務必驗證伺服器端的 JWT 簽章 - 單獨解碼並不是驗證。
  • 檢查“exp”(過期)和“nbf”(不在之前)聲明,以確保令牌在當前時間有效。
  • 將短期令牌(15-60 分鐘)與刷新令牌一起用於長時間會話 — 最大限度地減少令牌洩漏時造成的損失。
  • 使用我們的 JWT 解碼器進行安全的本地偵錯 - 您的令牌永遠不會離開您的瀏覽器。

相關工具

相關指南

參考