解码并验证 JWT Token 的 Header、Payload
JWT(JSON Web Token)是一种紧凑的、URL 安全的令牌格式,用于在各方之间安全传输声明信息。它广泛用于无状态身份认证——服务端签发 Token 后无需存储会话,客户端每次请求携带 Token 即可完成身份验证。
Header.Payload.Signature| 部分 | 内容 | 编码 |
|---|---|---|
| Header | 算法类型 {"alg":"HS256","typ":"JWT"} |
Base64URL |
| Payload | 声明(Claims):iss sub exp iat + 自定义字段 |
Base64URL |
| Signature | HMAC(header + "." + payload, secret) |
原始字节 |
Payload 只是 Base64 编码,不是加密,任何人都能解码查看内容。不要在其中存放密码等敏感信息。
exp 过期时间 · iat 签发时间 · sub 主题 · iss 签发者 · nbf 生效时间 · aud 受众 · jti 唯一标识
| 算法 | 类型 | 说明 |
|---|---|---|
| HS256 | 对称 | HMAC + SHA-256,双方共享密钥 |
| RS256 | 非对称 | RSA + SHA-256,私钥签名公钥验证 |
| ES256 | 非对称 | ECDSA + P-256,更短的密钥同等安全性 |
exp 是否已过期、iss 是否匹配xxxxx.yyyyy.zzzzz 格式)exp、iat、nbf)会自动转换为可读日期,并标注是否已过期解码只是将 Base64URL 还原为明文 JSON,无需密钥,任何人都能做到。验证则需要用密钥检查签名是否合法,确认 Token 未被篡改。本工具仅做解码——不做签名验证。
可以。JWT 的过期只影响服务端是否接受该 Token,不影响其内容的可解码性。过期的 Token 结构完整,Header 和 Payload 依然可以正常解码查看。
因为 Payload 仅做 Base64URL 编码而非加密,任何拿到 Token 的人都能解码查看全部内容。即使使用 HTTPS 传输,Token 仍可能通过日志、浏览器历史、URL 参数等途径泄露。