JWT 加解密
解碼 · 簽發 · 驗籤 · 本地安全
JWT 加解密
就緒
ABOUT
關於 JWT 加解密
除錯 JWT 認證流程:解碼 Header/Payload、本地簽發測試 Token、驗證簽名是否有效。
401 Unauthorized、invalid signature、token expired——JWT 相關問題佔 API 聯調 ticket 的顯著比例。本地解碼與驗籤讓你在不影響生產金鑰安全的前提下快速定位 claims 與演算法配置問題。
DEEP DIVE
深入瞭解 JWT 加解密
JWT(JSON Web Token)由 Header、Payload、Signature 三段 Base64URL 編碼組成,以點號分隔。JSONSort JWT 工具自動解碼前兩段為 JSON,支援 HS256/RS256 等演算法的本地簽發與驗籤,金鑰與 Token 全程不離開瀏覽器。
OAuth 2.0、OpenID Connect、微服務間認證普遍使用 JWT。除錯時最常遇到:Token 過期(exp)、issuer 不匹配、簽名驗證失敗、claims 缺少 expected 欄位等問題,本地工具可快速排查。
JWT 的 Header 宣告 alg,Payload 含 exp/iat/nbf 等時間 claims。解碼不驗證簽名,任何人都能讀取 Payload——因此切勿在 JWT 中存放密碼或 PII。驗籤才確認 Token 未被篡改且由持有金鑰方簽發。
FEATURES
核心能力
Token 解碼
貼上 JWT 自動解碼 Header 與 Payload 為格式化 JSON。
本地簽發
填寫 payload 與金鑰,生成 signed JWT 用於測試。
簽名驗證
驗證 Token 簽名是否有效,支援 HS256 與 RS256。
Claims 高亮
exp、iat、sub 等標準 claims 格式化展示。
金鑰安全
HMAC 金鑰與 RSA 私鑰僅在本地 JavaScript 中使用。
即時反饋
Token 或金鑰變更後立即重新解碼/驗籤。
三段分欄
Header / Payload / Signature 分割槽展示,清晰對應 JWT 結構。
過期提示
解析 exp 並與當前時間對比,直觀顯示是否過期。
HOW TO USE
使用步驟
-
1
貼上 JWT Token 自動解碼
-
2
或填寫 Payload 與金鑰進行簽發/驗籤
-
3
複製結果,金鑰不離開瀏覽器
-
4
確認金鑰與演算法(HS256 / RS256)與簽發方一致
-
5
除錯完成後清除輸入中的測試金鑰與 Token
WORKFLOW
典型工作流
從匯入資料到匯出結果的完整流程,幫助團隊統一 JWT 加解密 的使用方式。
貼上 Token
從 Authorization header、Cookie 或日誌複製 JWT。
檢查 Claims
確認 sub、aud、exp、roles 等是否符合預期。
驗籤(可選)
輸入 secret 或 PEM 公鑰,驗證 Signature 有效。
簽發測試 Token
修改 Payload 本地簽發,用於單元測試或 Mock 閘道器。
USE CASES
適用場景
後端開發
除錯 Auth 中介軟體,驗證簽發的 Token 結構是否正確。
前端開發
解析 Access Token 中的 roles/permissions claims。
安全工程師
審計 JWT 是否含敏感 claims,驗籤演算法是否合規。
全棧聯調
OIDC 登入流程中檢查 id_token 與 access_token 內容。
Identity 工程師
除錯 OIDC id_token 與 access_token 的 claims 差異。
移動端
解析 App 內儲存的 refresh token 結構(勿在生產機驗籤)。
TIPS
使用技巧
- 貼上 Token 後先看 exp 是否過期,401 問題大半是過期導致。
- RS256 驗籤需貼上 PEM 格式公鑰,HS256 使用共享 secret 字串。
- 生產金鑰絕不要用線上工具,JSONSort 本地處理是更安全的選擇。
- 簽發測試 Token 時,payload 避免放真實使用者 PII 資料。
- Header 中的 alg 必須與驗籤演算法一致,否則驗證失敗。
- 解碼後的 Payload 可複製到格式化工具進一步編輯 claims 再重新簽發。
- Bearer 字首需去掉,只貼上 eyJ 開頭的三段 Token。
- Clock skew:伺服器與本地時差可能導致剛簽發的 Token 被判 expired。
- RS256 公鑰用 PEM 格式,含 BEGIN PUBLIC KEY 行。
- 除錯完清除 localStorage session,避免測試 Token 殘留。
LOCAL VS ONLINE
本地 vs 線上工具
JSONSort 堅持純前端架構,以下對比說明為何本地化工具更適合處理開發資料。
TROUBLESHOOTING
常見誤區與排查
實際使用中容易遇到的問題及建議處理方式,減少反覆試錯的時間。
invalid signature
建議:secret 不匹配或 alg 不一致;確認 HS256 vs RS256。
token expired
建議:檢查 exp;除錯時可簽發更長 ttl 的測試 Token。
Malformed token
建議:確認三段用 . 分隔且 Base64URL 無多餘空格。
公鑰驗籤失敗
建議:PEM 格式錯誤;確認 iss 對應的 JWKS 公鑰正確。
FAQ
常見問題
金鑰會上傳嗎?
不會。簽發與驗簽完全在瀏覽器 Web Crypto / JS 中完成。
支援 RS256 嗎?
支援 HS256 與 RS256。ES256 等可作為後續擴充。
沒有金鑰能解碼嗎?
Header 和 Payload 可無需金鑰解碼。Signature 驗證才需要金鑰。
Token 過期還能解碼嗎?
可以。解碼不受 exp 限制,exp 僅影響服務端是否接受。
解碼等於驗證身份嗎?
不等於。解碼僅讀取內容;驗籤才確認 Token 可信。
支援 encrypted JWT (JWE) 嗎?
當前聚焦 JWS(簽名 JWT)。JWE 需專門解密工具。
資料會上傳到伺服器嗎?
不會。JSONSort 所有工具均在瀏覽器本地執行,您的輸入內容不會傳送到任何後端伺服器。
需要註冊或安裝嗎?
不需要。開啟頁面即可使用,無需賬號、無需下載客戶端,也支援 PWA 離線快取。
支援多大的檔案?
取決於瀏覽器記憶體,通常可流暢處理數 MB 級別的資料。超大檔案建議先拆分或使用合併清理工具。