JWT 產生器使用指南:建立 HS256/RS256 簽章 Token
實用工具(更新於 2026年6月17日)
JWT 是什麼
JSON Web Token(JWT)是一種緊湊的、自包含的令牌格式,廣泛用於身分認證和資訊交換:
eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiIxMjM0NTY3ODkwIiwibmFtZSI6IuW8uuWMheS4gOS4quS4iuaenCIsImlhdCI6MTcwMDAwMDAwMCwiZXhwIjoxNzAwMDA4MDAwfQ.SflKxwRJSMeKKF2QT4fwpMeJf36POk6yJV_adQssw5c
↑ Header ↑ Payload ↑ Signature
JWT 由三段 Base64URL 編碼的字串組成,用
.分隔。
三段式結構詳解
Header(標頭)
{
"alg": "HS256",
"typ": "JWT"
}
| 欄位 | 含義 |
|---|---|
alg |
簽章演算法:HS256、RS256 等 |
typ |
令牌型別,固定為 JWT |
Payload(載荷)
{
"sub": "1234567890",
"name": "張三",
"role": "admin",
"iat": 1700000000,
"exp": 1700008000
}
| 欄位 | 含義 | 是否必須 |
|---|---|---|
sub |
主體(使用者 ID) | 推薦 |
iat |
簽發時間(Issued At) | 推薦 |
exp |
過期時間(Expiration) | 必須 |
iss |
簽發者(Issuer) | 選填 |
aud |
受眾(Audience) | 選填 |
nbf |
生效時間(Not Before) | 選填 |
Signature(簽章)
HMACSHA256(base64UrlEncode(header) + "." + base64UrlEncode(payload), secret)
簽章保證 Token 未被竄改,但 Payload 預設不加密——不要放敏感資訊!
HS256 vs RS256
| 對比項 | HS256 | RS256 |
|---|---|---|
| 演算法型別 | 對稱加密(HMAC) | 非對稱加密(RSA) |
| 金鑰 | 共享金鑰(字串) | 公鑰 + 私鑰 |
| 驗證方 | 需要同一金鑰 | 只需公鑰 |
| 適用場景 | 單服務、微服務內部 | 多服務、第三方驗證 |
| 金鑰管理 | 簡單,但洩露風險高 | 更安全,公鑰可分發 |
選擇建議:單體應用用 HS256,微服務/開放 API 用 RS256。
使用 JWT 產生器
第一步:開啟工具
造訪 JWT 產生器,進入 Token 建立介面。
第二步:選擇簽章演算法
- 單服務場景:選擇 HS256,輸入共享金鑰
- 多服務場景:選擇 RS256,貼上私鑰
第三步:填寫 Payload
在載荷編輯器中新增 Claims:
{
"sub": "user_10086",
"name": "張三",
"role": "admin",
"iat": 1700000000,
"exp": 1700008000
}
iat和exp使用 Unix 時間戳(秒)。工具支援視覺化設定過期時間。
第四步:產生 Token
點擊「產生」,工具自動完成:
- Base64URL 編碼 Header
- Base64URL 編碼 Payload
- 使用金鑰計算簽章
- 拼接為完整 JWT 字串
第五步:驗證 Token
將產生的 Token 貼到 JWT 解碼工具,確認:
- Header 和 Payload 解碼正確
- 簽章驗證通過
exp時間未過期
過期時間最佳實踐
| 場景 | 推薦 exp | 原因 |
|---|---|---|
| Access Token | 15-30 分鐘 | 短期有效,降低洩露風險 |
| Refresh Token | 7-30 天 | 長期有效,用於續簽 |
| 郵件驗證連結 | 1-24 小時 | 一次性使用 |
| API Key | 不設 exp 或 1 年+ | 長期憑證 |
建議同時使用 Access Token + Refresh Token 雙 Token 方案。
Base64URL 編碼注意
JWT 使用 Base64URL 編碼,與標準 Base64 的差異:
| 差異 | 標準 Base64 | Base64URL |
|---|---|---|
+ |
+ |
- |
/ |
/ |
_ |
填充 = |
有 | 無 |
使用 Base64 編解碼工具 時注意選擇 URL 安全模式。
常見問題
| 問題 | 原因 | 解決 |
|---|---|---|
| 簽章驗證失敗 | 金鑰不匹配 | 確認產生和驗證使用同一金鑰 |
| Token 過期 | exp 時間已過 | 重新產生或使用 Refresh Token |
| Payload 亂碼 | 未使用 Base64URL 解碼 | 使用 JWT 解碼工具 |
| 敏感資訊洩露 | Payload 未加密 | 不要在 Payload 中放密碼等敏感資料 |
| RS256 驗證失敗 | 公鑰不匹配 | 確認公鑰與私鑰是同一對 |
總結
JWT 是現代 Web 認證的核心技術。理解三段式結構和 HS256/RS256 的差異,正確設定 Claims 和過期時間,是安全使用 JWT 的關鍵。JWT 產生器 和 JWT 解碼工具 讓你在瀏覽器中完成 Token 的建立、解碼和驗證全流程。
#JWT#Token生成#HS256#RS256#认证