JWT 解码
拆分 JWT 三段并解码 Header 与 Payload(不校验签名)
粘贴三段式 Token 后点击解码,分别查看头部和载荷;本页不验证签名,不能据此判断登录凭据有效。
–
示例
输入
eyJhbGciOiJub25lIn0.eyJzdWIiOiJkZW1vIn0.
示例结果
头部:{"alg":"none"}
载荷:{"sub":"demo"}这是无签名的教学示例,不可用于身份验证。
技术细节与边界
三段式 JWS 使用点号连接 Base64URL 编码的 Header、Payload 与签名。exp 等 NumericDate 声明以秒为单位。解码成功不等于签名有效,浏览器时钟判断也不能替代服务端对签名、算法、iss、aud、nbf、exp 的验证;五段式 JWE 不受支持。
关于此工具
在浏览器中解码三段式 JWT 的 Header 与 Payload,并将 JSON 整理为可读格式。辅助检查 alg、sub、exp 等字段;只展示声明,不验证签名,也不判断访问权限。
适用场景
- 排查后端认证问题,看看客户端拿到的 token 里到底放了什么。
- 确认 token 的 exp 是不是过期了。
- 在文档里贴一份示例 JWT 的解码结果。
操作步骤
- 把 JWT 字符串(形如 aaa.bbb.ccc)粘进输入框。
- 点击“解码”,头部与载荷分别显示;有效 JSON 会自动格式化。
注意事项
本页未实现签名验证。生产系统需根据约定算法使用可信的验证密钥,并检查完整声明。
常见问题
- JWT 在线解码成功是否代表签名有效?
- JWT解码成功只说明内容可解析,不代表签名有效。常见JWS包含3段,本工具不支持5段JWE;实际认证还应在服务端校验签名、算法、签发方和受众,不能把页面显示的载荷当成可信身份。
- JWT exp过期时间是秒还是毫秒?
- JWT的exp等时间声明使用秒,不是毫秒。将秒值乘以1000即可得到JavaScript常用的毫秒时间;近期值常见10位与13位之别,最终有效性仍应依据服务端验证和允许的时钟偏差。
- JWT 三段式和五段式为什么不能同样解码?
- 三段式JWS和五段式JWE结构不同,本工具只解析前者的头部与载荷。JWS有3段,JWE有5段且载荷涉及加密;遇到五段输入应使用支持对应加密算法和密钥的工具,不能删除分段强行解析。
相关工具