JWT 解碼
拆分 JWT 三段並解碼 Header 與 Payload(不驗簽)
粘貼三段式 Token 後點擊解碼,分別查看頭部和載荷;本頁不驗證簽名,不能據此判斷登錄憑據有效。
–
範例
輸入
eyJhbGciOiJub25lIn0.eyJzdWIiOiJkZW1vIn0.
示例結果
頭部:{"alg":"none"}
載荷:{"sub":"demo"}這是無簽名的教學示例,不可用於身份驗證。
技術細節與邊界
三段式 JWS 使用點號連接 Base64URL 編碼的 Header、Payload 與簽名。exp 等 NumericDate 聲明以秒為單位。解碼成功不等於簽名有效,瀏覽器時鐘判斷也不能替代服務端對簽名、算法、iss、aud、nbf、exp 的驗證;五段式 JWE 不受支持。
關於此工具
在瀏覽器中解碼三段式 JWT 的 Header 與 Payload,並將 JSON 整理為可讀格式。輔助檢查 alg、sub、exp 等字段;只展示聲明,不驗證簽名,也不判斷訪問權限。
適用場景
- 排查後端認證問題,看客戶端拿到的 token 裡有什麼。
- 確認 token 的 exp 是否過期。
- 在文件裡貼一份範例 JWT 的解碼結果。
操作步驟
- 把 JWT 字串(aaa.bbb.ccc)貼進輸入框。
- 點擊“解碼”,頭部與載荷分別顯示;有效 JSON 會自動格式化。
注意事項
本頁未實現簽名驗證。生產系統需根據約定算法使用可信的驗證密鑰,並檢查完整聲明。
常見問題
- JWT 在線解碼成功是否代表簽名有效?
- JWT解碼成功只說明內容可解析,不代表簽名有效。常見JWS包含3段,本工具不支持5段JWE;實際認證還應在服務端校驗簽名、算法、簽發方和受眾,不能把頁面顯示的載荷當成可信身份。
- JWT exp過期時間是秒還是毫秒?
- JWT的exp等時間聲明使用秒,不是毫秒。將秒值乘以1000即可得到JavaScript常用的毫秒時間;近期值常見10位與13位之別,最終有效性仍應依據服務端驗證和允許的時鐘偏差。
- JWT 三段式和五段式為甚麼不能同樣解碼?
- 三段式JWS和五段式JWE結構不同,本工具只解析前者的頭部與載荷。JWS有3段,JWE有5段且載荷涉及加密;遇到五段輸入應使用支持對應加密算法和密鑰的工具,不能刪除分段強行解析。
相關工具