JWT產生器
生成帶有自定義標頭 (header)、有效載荷聲明 (payload claims) 以及 HMAC 簽署演算法 (HS256/HS384/HS512) 的已簽署 JSON Web Tokens (JWT)。包含快速聲明預設值、過期輔助工具、即時權杖預覽,以及 JWT 三個片段的視覺化拆解。
偵測到廣告封鎖,導致我們無法顯示廣告
MiniWebtool 依靠廣告收入免費提供服務。如果這個工具幫到你,歡迎升級 Premium(無廣告 + 更快),或將 MiniWebtool.com 加入允許清單後重新整理頁面。
- 或升級 Premium(無廣告)
- 允許 MiniWebtool.com 顯示廣告,然後重新載入
JWT產生器
歡迎使用 jwt產生器,這是一個快速且免費的在線工具,用於創建已簽名的 JSON Web Token。無論您是在測試身份驗證流程、構建 API、調試集成,還是學習 JWT 的底層工作原理,此產生器都能讓您完全控制令牌標頭、載荷聲明和 HMAC 簽名算法。只需一鍵即可輸出有效的 HS256、HS384 或 HS512 令牌,並並排檢查每個段落。
什麼是 JSON Web Token?
JSON Web Token (JWT) 是由 RFC 7519 定義的一種緊湊且 URL 安全的憑證格式。JWT 在兩方之間攜帶有關主體的聲明,並通過加密簽名證明其完整性。由於令牌是自包含的,接收者無需回調發行者即可對其進行驗證——這一特性使 JWT 成為現代 Web 和移動應用程式無狀態身份驗證的骨幹。
每個 JWT 都由三個以點連接的 base64url 編碼部分組成:
- 標頭 (Header) — 一個 JSON 對象,聲明令牌類型 (
typ) 和簽名算法 (alg)。 - 載荷 (Payload) — 一個 JSON 對象,包含聲明,如用戶 ID、過期時間和任何自定義數據。
- 簽名 (Signature) — 對編碼標頭和載荷的 HMAC 或 RSA 簽名,保護其免受篡改。
base64url(標頭).base64url(載荷).base64url(簽名)示例:
eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiIxMjM0In0.dBjftJeZ4CVP-mB92K27uhbUJU1p1r_wW1gFWFOEjXk
jwt產生器如何運作
此工具遵循 RFC 7519 §7.1 中的確切 JWT 簽名步驟:
- 將標頭 JSON 序列化為其緊湊形式(無空格)並進行 base64url 編碼。
- 對載荷 JSON 執行相同的操作。
- 用點分隔符連接兩者。這就是簽名輸入。
- 使用您的密鑰和選擇的 SHA-2 算法計算簽名輸入的 HMAC。
- 對生成的簽名字節進行 base64url 編碼。
- 將所有內容連接為
標頭.載荷.簽名。
是什麼讓這款產生器與眾不同
- 三段顏色可視化 — 標頭(玫瑰紅)、載荷(紫色)、簽名(青色),讓您一眼就能識別各個部分。
- 快速聲明面板 — 一鍵插入
iss、sub、aud、iat、nbf和jti。 - 過期助手 — 提供 1 小時、1 天、7 天或 30 天的預設按鈕,自動計算正確的 Unix 時間戳。
- 實時令牌預覽 — 編碼後的標頭和載荷會隨著您的輸入而更新,因此您可以查看每次編輯如何改變令牌。
- 智能標頭同步 — 切換算法會自動更新標頭的
alg字段。 - Base64 密鑰切換 — 如果您的密鑰以 base64 存儲(二進制密鑰的 JWS 慣例),啟用該選項後,工具將在簽名前對其進行解碼。
- 分段複製按鈕 — 獨立複製標頭、載荷、簽名或完整令牌。
- 聲明摘要 — 列出已識別的標準聲明及其說明,並在適用時顯示易於閱讀的時間戳。
選擇正確的算法
此工具支持的三種 HMAC 變體除了底層 SHA-2 哈希和簽名長度外,在功能上是相同的:
- HS256 — 使用 SHA-256 的 HMAC。256 位簽名。幾乎所有 JWT 發行庫的默認設置,也是互操作性最強的選擇。
- HS384 — 使用 SHA-384 的 HMAC。384 位簽名。對未來的密碼分析有稍大的安全邊際。
- HS512 — 使用 SHA-512 的 HMAC。512 位簽名。當政策要求使用最長的標準哈希時非常有用。
這三者都依賴於簽名者和驗證者持有的共享密鑰。RFC 7518 §3.2 要求密鑰長度至少與哈希輸出長度一致:HS256 為 256 位,HS384 為 384 位,HS512 為 512 位。
標準註冊聲明
RFC 7519 §4.1 定義了一組 JWT 發行者和驗證者應識別的標準聲明。它們都是可選的,但得到廣泛支持:
iss(發行者) — 標識誰創建了令牌。通常是 URL 或服務名稱。sub(主體) — 標識令牌的主體,通常是用戶 ID。aud(受眾) — 標識令牌預定的接收者。可以是單個字符串或數組。exp(過期時間) — 超過此 Unix 時間戳後必須拒絕令牌。nbf(生效時間) — 在此 Unix 時間戳之前不得接受令牌。iat(簽發時間) — 記錄令牌創建時間的 Unix 時間戳。jti(JWT ID) — 唯一的標識符,允許撤銷或單獨跟蹤令牌。
如何使用此工具
- 選擇簽名算法 — 點擊 HS256, HS384, 或 HS512。標頭會自動更新以匹配。
- 編輯標頭(可選) — 默認標頭包含
alg和typ。如果您的驗證者需要,請添加自定義kid(密鑰 ID)。 - 構建載荷 — 以 JSON 形式輸入您的聲明,或點擊快速聲明按鈕插入標準字段。過期助手會根據您選擇的相對時長寫入正確的 Unix 時間戳。
- 設置密鑰 — 輸入您的 HMAC 共享密鑰。點擊眼睛圖標即可查看。如果您的密鑰是 base64 編碼的,請勾選複選框,以便工具在簽名前對其進行解碼。
- 生成 JWT — 點擊生成 JWT。完整令牌、三個段落卡片、結構圖和已識別聲明摘要將一起渲染。
- 複製所需內容 — 使用分段複製按鈕或複製令牌按鈕,將編碼值帶入 Postman、curl 或您的客戶端應用程式。
常見用例
身份驗證與授權
- 在登錄成功後發行訪問令牌。
- 編碼用戶身份 (
sub) 以及角色或權限聲明。 - 簽署短期令牌(15-60 分鐘)並根據需要刷新它們。
API 集成測試
- 構建模擬令牌來測試您的 API 如何響應過期、未來日期或格式錯誤的聲明。
- 為單元測試和 CI 流水線生成固定 JWT。
- 在本地環境中重現類似生產的令牌,而無需訪問真實的身份驗證伺服器。
單點登錄 (SSO) 調試
- 將已知的正確 JWT 與提供商發送的 JWT 進行比較,以查找規格偏差。
- 檢查上游發行者使用的簽名算法和密鑰 ID (
kid)。
常見問題
這裡創建的 JWT 是真實、有效的令牌嗎?
是的。令牌是通過對規範編碼標頭和載荷進行 HMAC 簽名的。任何使用相同密鑰的 JWT 庫都能成功驗證它。
為什麼我的令牌看起來與我在其他地方生成的完全相同?
因為 JWT 是確定性的:給定相同的標頭、載荷和密鑰,每個符合規範的庫都會產生完全相同的字符串。如果您發現差異,請檢查 JSON 序列化順序、鍵名拼寫和密鑰編碼是否一致。
我可以對 JWT 進行解碼以驗證我生成的內容嗎?
是的。將此工具與 JWT 解碼器配合使用以檢查各個段落。解碼只是反向執行 base64url 步驟 — 驗證簽名仍需要密鑰。
為什麼我的密鑰因太短而被拒絕?
RFC 7518 建議密鑰長度至少為哈希輸出長度:HS256 為 256 位。工具本身不強制執行最小值,但表現良好的驗證者可能會拒絕短密鑰。在實際使用中,請使用隨機生成的 32 字節以上密鑰。
此工具支持 RS256, ES256, 或 EdDSA 嗎?
目前不支持 — 此工具專注於基於 HMAC 的算法,因為它們只需要一個共享字符串。非對稱算法 (RS*, PS*, ES*, EdDSA) 需要密鑰對和 PEM 處理,這更適合專用工具。
我的密鑰和載荷會被發送到伺服器嗎?
表單通過 HTTPS 提交以計算簽名。除了請求的生命週期外,不會記錄或存儲任何內容。無論如何,請勿在此處輸入生產密鑰 — 將其視為公共測試環境。
其他資源
引用此內容、頁面或工具為:
"JWT產生器" 於 https://MiniWebtool.com/zh-tw//,來自 MiniWebtool,https://MiniWebtool.com/
由 miniwebtool 團隊提供。更新於:2026年4月26日