JWT 解碼器
解碼並檢查 JWT(JSON Web Token)的標頭、載荷和簽章,無需密鑰。支援到期狀態顯示與 HMAC 簽章驗證。
| 聲明(Claim) | 值 |
|---|
輸入密鑰以驗證 HMAC 簽章(僅支援 HS256 / HS384 / HS512)。密鑰不會離開您的瀏覽器。
什麼是 JWT?
JWT(JSON Web Token)是一種開放標準(RFC 7519),用於在各方之間安全地傳輸 JSON 格式的聲明資訊。它由三個 Base64URL 編碼的部分組成,以句點(.)分隔:
- Header(標頭):包含 Token 類型與使用的簽章演算法(如 HS256、RS256)。
- Payload(載荷):包含聲明(Claims),即關於使用者或實體的陳述,如 sub(主體)、exp(到期時間)、iat(簽發時間)等。
- Signature(簽章):用於驗證 Token 未被篡改,需要密鑰進行驗證。
JWT 廣泛用於 Web 應用的身份驗證(Authentication)與授權(Authorization),是現代 API 安全的核心技術。
如何使用 JWT 解碼器
使用本工具非常簡單,只需幾個步驟:
- 將完整的 JWT Token 貼入上方的文字框。
- 點擊「🔍 解碼 JWT」按鈕,系統將自動解析標頭與載荷。
- 在「標頭」分頁查看演算法與 Token 類型資訊。
- 在「載荷」分頁查看所有聲明,以及到期狀態(是否已過期)。
- 在「標準聲明」分頁查看各標準欄位的說明與人性化時間顯示。
- (可選)在簽章驗證區域輸入密鑰,點擊「✔ 驗證簽章」確認 Token 是否完整。
⚠️ 注意:本工具完全在瀏覽器端運行,您的 Token 與密鑰不會上傳至任何伺服器。
常見使用場景
常見問題(FAQ)
JWT 解碼是否安全?我的 Token 會洩露嗎?
本工具完全在您的瀏覽器本地執行,所有解碼與驗證均為客戶端操作,不會將任何資料(包括 Token 或密鑰)傳送至伺服器。您可以放心使用,但仍建議避免在公用電腦上處理敏感的生產環境 Token。
為什麼 JWT 的內容可以直接讀取,不需要密鑰?
JWT 的 Header 和 Payload 只使用 Base64URL 編碼,並非加密。這意味著任何人拿到 Token 都可以讀取內容。密鑰(Secret)的用途是「驗證簽章」,確保 Token 未被篡改,而非隱藏內容。若需要加密資料,應使用 JWE(JSON Web Encryption)。
支援哪些 JWT 簽章演算法?
本工具的解碼功能支援所有演算法(HS256、HS384、HS512、RS256、RS384、RS512、ES256 等)的 Header 和 Payload 解析。簽章驗證功能目前僅支援 HMAC 系列(HS256、HS384、HS512),非對稱演算法(RSA/ECDSA)需要公鑰,較複雜,未來版本將增加支援。
exp、iat、nbf 這些欄位代表什麼意思?
exp(Expiration Time):Token 的到期時間,以 Unix 時間戳記表示。iat(Issued At):Token 的簽發時間。nbf(Not Before):Token 的生效時間,在此時間之前 Token 不應被接受。這些都是 RFC 7519 定義的標準聲明。
如果 JWT 格式不正確,會發生什麼?
本工具會進行格式驗證,若 Token 不包含三個以句點分隔的部分,或 Base64URL 解碼後不是有效的 JSON,將顯示紅色錯誤訊息說明問題所在,不會造成頁面崩潰。
JWT 和 Session Cookie 有什麼不同?
Session Cookie 通常需要伺服器端儲存 Session 狀態,而 JWT 是「無狀態」的,所有資訊都包含在 Token 本身。JWT 特別適合分散式系統與微服務架構,因為任何服務只需擁有公鑰(或共享密鑰)即可驗證 Token,無需查詢中央 Session 儲存。
