免費註冊

JWT 解析

貼上 JWT,檢視頭部和載荷,看它什麼時候過期,再驗證簽名。

關於JWT 解析

JWT 解析是排查登入問題的第一步:介面返回 401,登入態提前失效,或者想確認令牌裡到底帶了哪些資訊。貼上令牌,頭部(header)和載荷(payload)會以格式化的 JSON 顯示,使用者 ID、角色、簽發方、接收方一眼看清;exp、iat、nbf 會換算成日期,令牌已經過期或者還沒到生效時間,都會明確提示。

只解碼證明不了什麼,因為 JWT 誰都能解開;要確認令牌可信,得驗證簽名:HS256、HS384、HS512 填共享金鑰,RS256 到 RS512、PS256 到 PS512、ES256 到 ES512 填 PEM 格式的公鑰。令牌往往帶著使用者資訊,還能直接拿來訪問介面,所以這裡全部在瀏覽器裡處理,不上傳、不記錄。

JWT 解析怎麼用

  1. 1
    貼上令牌

    貼上完整的 JWT,也就是用兩個點分成三段的那一串。

  2. 2
    檢視頭部和載荷

    以格式化 JSON 顯示,exp、iat、nbf 換算成日期。

  3. 3
    看有效期

    提示令牌已過期、尚未生效,還是在有效期內。

  4. 4
    驗證簽名

    HS 系列填金鑰,RS、PS、ES 系列填 PEM 公鑰。

為什麼用熊仔工匠

  • 內容一目瞭然

    頭部和載荷格式化成 JSON。

  • 時間直接可讀

    exp、iat、nbf 轉成日期,過期、未生效都有提示。

  • 簽名驗證

    HS、RS、PS、ES 四個系列,各有 256、384、512 三種,共 12 種演算法。

  • 令牌不外傳

    解碼和驗籤都在瀏覽器裡完成。

常見問題

JWT 解析常見問題

把 JWT 貼上到線上工具裡安全嗎?
在這裡是安全的,解碼和驗籤都在瀏覽器裡完成,令牌不會傳送到任何地方。不過有效的令牌相當於登入憑證,不要隨便發給別人。
JWT 裡的內容別人能看到嗎?
能。頭部和載荷只是 Base64url 編碼,並沒有加密,所以不要在裡面放密碼等敏感資訊;簽名只能防止內容被篡改。
JWT 簽名怎麼驗證?
HS256、HS384、HS512 填簽發時用的金鑰;RS、PS、ES 系列貼上 PEM 格式的公鑰。結果會顯示簽名是否有效。測試用的 PEM 金鑰對,可以在RSA 加密解密與金鑰生成裡建立。
為什麼提示令牌已過期?
說明 exp 裡的時間早於你裝置上的當前時間。如果令牌本該有效,檢查一下伺服器時間,以及簽發時設定的有效期。伺服器日誌裡的時間戳,可以用Unix 時間戳轉換換算後對照。
支援哪些 JWT 演算法?
HS256、HS384、HS512(用金鑰),以及 RS256、RS384、RS512、PS256、PS384、PS512、ES256、ES384、ES512(用 PEM 公鑰)。
把JWT 解析分享給朋友開啟瀏覽器就能用,對方不註冊也能先試。

相關工具

HASH 雜湊加密 MD5 / SHA一次算出文字的 MD5、SHA-1、SHA-256、SHA-512 和 SM3。
TIME Unix 時間戳轉換Unix 時間戳與日期時間互轉,同時顯示本地時間和 UTC。
U+UNI Unicode 編碼轉換文字與 \u 轉義、&#; 編碼、U+ 碼點、UTF-8 位元組互轉。
AES AES 加密解密用 AES(GCM、CBC、CTR 模式)加密或解密文字。
&;HTML HTML 實體編碼轉換把文字轉成 HTML 實體,或把實體還原成文字。
01BIN 進位制轉換數字在二進位制、八進位制、十進位制、十六進位制等進位制之間轉換。
BASE Base32 / Base58 編碼Base32、Base58、Base85、Base16 的編碼與解碼。
0xHEX 文字 Hex 編碼轉換把文字按 UTF-8、GBK 或 UTF-16 轉成十六進位制,或反過來。