JWT 解析工具

JWT 解析工具

線上 JWT (JSON Web Token) 解析器 | Header & Payload 解碼 JWT 結構圖示

JWT 解析與除錯工具


解析結果
請輸入 JWT 以查看 Header, Payload 和 Signature。
什麼是 JWT? JWT(JSON Web Token)是一種開放標準(RFC 7519),定義了一種緊湊且自包含的方式,用於在雙方之間安全地傳輸資訊。它主要用於**身份驗證**和**授權**,是現代無狀態(Stateless)架構的基礎。

JWT 的三大組成部分結構分析

一個完整的 JWT 總是包含三個部分,它們之間用點(.)分隔,格式為:Header.Payload.Signature

1. Header (標頭)

標頭通常包含兩個資訊:

  • "alg":用於簽名(Signature)的加密演算法,例如 HS256(HMAC with SHA-256)或 RS256(RSA with SHA-256)。
  • "typ":Token 的類型,通常固定為 "JWT"

這個工具會將 Base64URL 編碼後的第一部分解碼,讓您清楚看到 Header 內容。

2. Payload (負載,即內容)

Payload 包含了所有您想要傳輸的實際資料,這些資料以一組聲明(Claims)的形式存在。常見的 Claims 包括:

  • "iss":發行者 (Issuer)。
  • "exp":過期時間 (Expiration Time)。
  • "iat":發行時間 (Issued At)。
  • "sub":主題 (Subject),通常是使用者 ID 或名稱。

重要提醒: Payload 雖然經過 Base64URL 編碼,但**並非加密**。任何第三方都可以使用本工具或線上工具將其解碼。因此,**絕對不要**在 Payload 中放置敏感的個人資料(如密碼或銀行資訊)。

3. Signature (簽名)

簽名是用來驗證發送者身份並確保 Token 在傳輸過程中未被篡改的部分。

簽名的計算方式如下:將 Base64URL 編碼後的 Header 和 Base64URL 編碼後的 Payload,加上伺服器上儲存的**密鑰(Secret Key)**,一起透過 Header 中指定的加密演算法進行雜湊運算。

安全性核心: 由於 Signature 依賴於只有伺服器知道的密鑰,如果有人篡改了 Header 或 Payload 的內容,重新計算出的 Signature 將會不同,從而導致伺服器驗證失敗,保護了資料的完整性。

關於 Base64URL 編碼

JWT 使用的是 **Base64URL Safe** 編碼,而非標準的 Base64 編碼。與標準 Base64 相比,Base64URL 替換了 +/ 這兩個可能在 URL 中引起問題的符號,並移除了填充符 =,確保整個 Token 可以在 URL 和 HTTP 標頭中安全傳輸,不會造成解析錯誤。

本工具的安全性與運作原理

本 JWT 解析器完全在您的**瀏覽器客戶端**執行 JavaScript 程式碼。這意味著:

  • **隱私保護:** 您貼上的 JWT 字串不會上傳到任何伺服器。所有解碼操作都在您的電腦上進行。
  • **除錯用途:** 本工具旨在協助開發者快速檢查 JWT 的內容(Header 和 Payload)。由於我們無法存取伺服器的私鑰,本工具**無法驗證 Signature** 的有效性或檢查 Token 是否被竄改。

請將本工具視為一個方便的內容瀏覽器,但真正的安全驗證工作,仍應由您的後端應用程式負責。

張貼留言

0 留言