JWT 解碼器

在瀏覽器本地即時解析 JWT 的 Header 和 Payload。

貼上你的 JWT
貼上 JWT 即可開始解析。

你的 Token 會在瀏覽器本地解碼,不會上傳到 BroBroGo。

常見問題

把 JWT 貼到這裡安全嗎?

安全。解析完全在你的瀏覽器裡進行,Token 不會被傳送到 BroBroGo。

這個工具會驗證簽章嗎?

不會。它只負責把 Header 和 Payload 解出來給你看,驗證簽章需要簽發方的金鑰,這個工具不需要也不會要求你提供。

怎麼知道我的 Token 是否已經過期?

解碼結果旁會顯示狀態標籤——有效、已過期、尚未生效或無過期時間,依據的是 Token 裡的 exp 欄位。

JWT 的結構與 Base64URL 編碼

JSON Web Token(JWT)是一種開放標準(RFC 7519),用於在網路應用程式環境間安全地傳遞聲明。一個標準的 JWT 字串是由三個部分組成,彼此之間以點號(.)進行分隔。這三個部分依序為:

  1. Header(標頭):含有關於 Token 類型及所使用加密演算法的資訊。
  2. Payload(負載):包含聲明(Claims),即傳遞的實體資訊與相關元數據。
  3. Signature(簽章):用於驗證傳送者身分並確保訊息在傳輸過程中未被篡改。

這三個部分在傳輸時,皆是使用 Base64URL 編碼格式進行處理。Base64URL 是 Base64 的變體,它將標準 Base64 中的 + 替換為 -,將 / 替換為 _,並省略末尾的等號(=)填補字元,以確保 Token 能夠安全地放置於 URL 參數中傳遞。

Header 與 Payload 的常見聲明

在解碼後的 JSON 格式中,Header 與 Payload 各司其職,包含多個標準化與自訂的欄位。

Header 欄位

Header 主要用於描述 Token 的基本元數據,常見的欄位包括:

  • alg(演算法):指定用於產生簽章的演算法,例如 HS256、RS256 等。
  • typ(類型):指定媒體類型,在 JWT 中通常固定為 JWT

Payload 欄位

Payload 包含實際要傳輸的聲明數據,這些聲明分為標準註冊聲明、公共聲明和私有聲明。常見的標準聲明包括:

  • iat(Issued At):Token 的簽發時間,以 Unix 時間戳記表示。
  • exp(Expiration Time):Token 的失效時間,同樣以 Unix 時間戳記表示,超過此時間的 Token 應被視為無效。
  • nbf(Not Before):Token 開始生效的時間,在此時間之前該 Token 不可使用。
  • sub(Subject):Token 所代表的主體,通常是使用者的唯一識別碼。

解碼與驗證簽章的差異

使用本工具解析 JWT 時,必須理解「解碼(Decoding)」與「驗證(Verification)」是完全不同的程序。

  • 解碼:僅是將 Base64URL 編碼的字串還原為可讀的 JSON 格式。由於 JWT 的 Header 和 Payload 並未加密,任何人只要取得 Token,都可以直接將其解碼並讀取其中的內容。
  • 驗證:需要使用簽發方的簽章演算法、私鑰或共享金鑰,重新計算簽章並與 Token 中的第三部分進行比對,以確認 Token 是否遭到篡改。

本工具僅提供解碼功能,不會要求輸入任何簽發秘密金鑰或公鑰,因此無法驗證簽章的真實性。在實際生產環境中,後端系統必須執行完整的簽章驗證,絕不能僅依賴解碼後的 Payload 數據,否則將面臨偽造 Token 的嚴重安全性風險。

工具運作規則與錯誤處理

本工具在解析輸入的 JWT 時,會依據特定規則進行即時檢查,並在不符合規範時隱藏解碼區域,顯示對應的錯誤提示:

  • 輸入狀態:若輸入框為空,工具保持在「貼上 JWT 即可開始解析。」狀態。當按下清空按鈕時,工具會顯示「已清空。」並將焦點自動移回輸入框。
  • 格式檢查:輸入必須為三段由點號分隔的內容,否則顯示「不是合法的 JWT——應由三段用點號分隔的內容組成。」。若輸入長度過長,則顯示「內容長度超出正常 JWT 範圍。」。
  • 解碼檢查:若 Header 的 Base64URL 格式不正確,顯示「Header 解碼失敗——Base64URL 格式不正確。」;若 Payload 的 Base64URL 格式不正確,則顯示「Payload 解碼失敗——Base64URL 格式不正確。」。
  • JSON 格式檢查:解碼後的內容必須為合法的 JSON 格式,否則分別顯示「Header 不是合法的 JSON。」或「Payload 不是合法的 JSON。」。
  • 解析成功:成功解析時顯示「解析成功。」,並呈現解碼後的 JSON 內容與相關統計資訊,包括字元數量。

本工具會提取並顯示以下欄位資訊:

  • 演算法
  • 類型
  • 簽發時間
  • 過期時間
  • 狀態:依據 exp 聲明判定,顯示為「有效」、「已過期」、「尚未生效」或「無過期時間」。

隱私與瀏覽器本地處理

本工具的解析與解碼程序完全在你的瀏覽器本地端執行。輸入的 Token 字串不會上傳到 BroBroGo 伺服器,所有的 Base64URL 解碼與 JSON 解析運算皆在用戶端裝置上完成,確保敏感的 Token 數據不會在網路傳輸中外洩。

常見問題

把 JWT 貼到這裡安全嗎?

安全。解析完全在你的瀏覽器裡進行,Token 不會被傳送到 BroBroGo。

這個工具會驗證簽章嗎?

不會。它只負責把 Header 和 Payload 解出來給你看,驗證簽章需要簽發方的金鑰,這個工具不需要也不會要求你提供。這僅檢查 exp 聲明 — 它不會驗證簽章、發行者或接收者。

怎麼知道我的 Token 是否已經過期?

解碼結果旁會顯示狀態標籤——有效、已過期、尚未生效或無過期時間,依據的是 Token 裡的 exp 欄位。