JWT 调试器
解码和生成 JWT 令牌
编码令牌
无效 JWT
无数据
签名验证 (OPTIONAL)
在下方输入用于签署JWT的密钥:
密钥
验证完全在浏览器中进行,令牌不会发送到外部服务器。
解码后的头部
无数据
解码后的载荷
无数据
签名
无数据
什么是 JWT?
JWT(JSON Web Token)是一种用于在两方之间安全传输信息的开放标准(RFC 7519)。它经过数字签名,因此可以被验证和信任。JWT 可以使用 HMAC 算法或 RSA/ECDSA 公钥/私钥对进行签名。
xxxxx.yyyyy.zzzzz
Header: 算法和令牌类型信息
Payload: 声明(用户信息和元数据)
Signature: 用于令牌完整性验证的签名
注册声明
iss签发者(Issuer)- 签发令牌的实体
sub主题(Subject)- 令牌的主题(通常是用户ID)
aud受众(Audience)- 令牌的预期接收者
exp过期时间(Expiration)- 令牌过期的 Unix 时间戳
nbf生效时间(Not Before)- 此时间之前令牌无效
iat签发时间(Issued At)- 令牌签发的 Unix 时间戳
jtiJWT ID - 令牌的唯一标识符
JWT 使用场景
- 身份认证
用户登录后颁发 JWT,在后续请求中验证身份
- 信息交换
通过签名验证发送者身份并检测内容篡改
- 单点登录(SSO)
使用单个令牌在多个服务之间保持认证
- API 授权
微服务之间的安全 API 调用认证
安全注意事项
- JWT 只是编码而非加密。切勿在载荷中包含敏感信息(密码、信用卡等)。
- 使用至少 256 位的强密钥。
- 设置适当的令牌过期时间(exp),并考虑使用刷新令牌模式。
- 为防止 XSS 攻击,建议将令牌存储在 httpOnly cookie 中而非 localStorage。
- 生产环境中务必使用 HTTPS,防止令牌在网络中泄露。
支持的算法
HS256
HMAC + SHA-256。最常用的对称密钥算法
HS384
HMAC + SHA-384。比 HS256 更长的哈希,安全性更高
HS512
HMAC + SHA-512。使用最长哈希的对称密钥算法
此工具仅支持基于 HMAC 的对称算法(HS*)。RSA/ECDSA 非对称算法需要单独的公钥/私钥对。