JWT 解析

解码 JWT 查看 Header 与 Payload,并检查过期时间。

什么是JWT 解析?

JWT(JSON Web Token)是一种用于身份认证和信息传递的令牌格式,由三段用 . 分隔的 Base64URL 编码字符串组成:Header(头部,声明算法和类型)、Payload(载荷,存放用户 ID、过期时间等声明信息)、Signature(签名,用于验证令牌未被篡改)。 JWT 解析工具的作用是把一段 JWT 字符串的 Header 和 Payload 解码还原成可读的 JSON,方便查看令牌里到底存了哪些字段、什么时候签发、什么时候过期,是调试登录态、排查接口 401/403 问题时最常用的辅助工具。

为什么使用JWT 解析?

典型场景:前端调用接口报 401,想确认本地存的 token 是不是已经过期;后端联调时想确认返回的 JWT 里 payload 字段是否符合约定;学习 OAuth2/单点登录机制时想直观看看 token 的结构。 需要特别说明的是,本工具只做解码(decode),不做验签(verify)——即不会用密钥或公钥去校验 Signature 部分是否合法,因此看到的 Payload 内容只能证明“令牌里写了什么”,不能证明“这个令牌是否是服务器签发的、内容是否可信”。判断令牌是否有效仍需服务器用密钥验签。

使用示例

检查 token 是否过期

粘贴形如 "eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiIxMjMiLCJleHAiOjE3MDAwMDAwMDB9.xxx" 的 JWT,工具会解出 Payload 中 exp 字段(如 1700000000,Unix 秒级时间戳),并自动换算成本地时间,同时提示“已过期”或“剩余多久过期”。

查看 Header 使用的签名算法

解析后 Header 部分显示 {"alg":"HS256","typ":"JWT"},说明该 token 使用 HMAC-SHA256 签名;如果看到 "alg":"none",需要警惕——这是已知的 JWT 安全漏洞手法之一,服务器如果没有正确校验会导致伪造 token 被接受。

比对自定义业务字段

Payload 里除了标准字段 sub、iat、exp 外,常有业务自定义字段如 {"role":"admin","tenantId":"t001"},解析后可以直接确认接口鉴权用的角色、租户信息是否与预期一致。

使用提示

调试时不要把包含真实用户信息的线上 token 粘贴到不受信任的第三方网站,虽然本工具本地处理,但养成只在可信工具里解析 token 的习惯更安全。

常见问题

这个工具会验证签名吗?
不会。本工具仅解码 JWT 的 Header 与 Payload 以便查看内容,不做签名校验,请勿据此判断 token 是否可信。
为什么显示“已过期”或“未生效”?
Payload 中的 exp(过期时间)与 nbf(生效时间)会与当前本地时间比较:exp 早于现在标红提示已过期;nbf 晚于现在标红提示未生效。
数据会上传吗?
不会。JWT 的 Base64URL 解码全部在浏览器本地完成,不会发送到服务器。
能验证 JWT 的签名是否有效吗?
不能。本工具仅做 Base64URL 解码展示 Header 和 Payload 内容,不校验 Signature,也不需要提供密钥;验签必须在拥有密钥/公钥的服务端或专门的验签工具中完成。
解析出来的信息安全吗,会不会泄露?
JWT 的 Header 和 Payload 本身就是明文 Base64 编码,任何人拿到 token 都能解码看到里面的内容(这也是不建议在 Payload 里放密码等敏感信息的原因);本工具在浏览器本地解码,不会把 token 发送到服务器。
为什么粘贴后提示格式错误?
JWT 必须是用两个 "." 分隔的三段结构,且每段是合法的 Base64URL 编码;常见原因是复制时漏了某一段、包含了多余的 Bearer 前缀或换行符,去掉多余字符后重试。
exp、iat 这些字段是什么意思?
exp(expiration)是过期时间,iat(issued at)是签发时间,nbf(not before)是生效时间,均为 Unix 时间戳(秒);sub 表示令牌主体(通常是用户 ID)。
中文字段能正常显示吗?
可以,Payload 是标准 JSON 编码,中文内容会按 UTF-8 正确解码显示,不会出现乱码。

相关工具

相关教程

← 返回工具箱· 数据均在浏览器本地处理,不上传服务器。