rmdir.cn
← 加密解密工具

JWT 解析与校验

查看 Token 内声明的字段、过期状态,并用共享密钥校验 HMAC 签名。解析与校验均在浏览器本地完成,不会把 Token 上传到服务器。

解析 Token

允许直接粘贴带有 Bearer 前缀或引号的 token;内容不会离开浏览器。

校验签名(HS256 / HS384 / HS512)

先解析出合法的 token 后才能校验签名。

校验通过只说明签名与密钥匹配,不代表 token 未被撤销,也不代表签发方可信。密钥不会离开浏览器。

生成测试 Token

仅用于本地联调。密钥留空时使用 local-test-secret。

生成的 token 使用所选 HMAC 算法与当前密钥,服务端仍需自行验证 exp、aud 等业务规则。

JWT 由哪三部分组成

一个 JWS 格式的 Token 由 header.payload.signature 三段组成,中间用点号分隔。前两段是 base64url 编码的 JSON,任何人都可以直接解码阅读,因此不要在其中放入手机号、身份证号等敏感信息。

第三段是签名,只有持有密钥的一方能生成。签名的输入是前两段的原始字符串,因此修改 payload 后旧签名会立刻失效。

常用字段速查

JWT 常用字段含义
字段位置说明
alg / typ / kidheader签名算法、令牌类型与密钥标识,校验方据此选择密钥。
isspayload签发方标识,应校验是否属于预期的服务。
subpayload主体标识,通常是用户 ID,不要依赖它做权限判断。
audpayload受众,用于区分同一签发方发给不同系统的 token。
exp / nbf / iatpayload过期、生效与签发时间,采用 NumericDate 秒级时间戳。
jtipayload令牌唯一编号,配合黑名单实现主动撤销。

除上表字段外,业务方可自由添加自定义声明,例如角色、租户或权限列表;这些字段同样只是明文数据,权限判断必须在服务端完成。

使用时的安全要点

  • 服务端必须校验签名,并使用固定算法白名单,避免接受 alg: none 或前后端算法不一致的 Token。
  • 解析成功不等于 Token 有效。没有 exp 的 Token 在密钥不轮换的情况下会长期有效,属于常见隐患。
  • HS 系列使用共享密钥,密钥泄露等同于任何人都能签发 Token;RS/ES 等非对称算法请用公钥在服务端校验。
  • 签发方与校验方时钟偏差会导致 nbf 未生效或 exp 提前过期,部署前应保证 NTP 同步。
  • 需要主动登出或撤销授权时,仅靠 exp 不够,还需配合 jti 黑名单或缩短有效期并引入刷新令牌。

常见问题

为什么有些 Token 解析失败?

常见原因是复制不完整、被换行截断,或者使用的是五段结构的 JWE(加密令牌)。JWE 的载荷经过加密,没有密钥无法还原,本工具只处理明文 JWS。

解析出来的内容能直接相信吗?

不能。任何人都能构造一段看起来合法的 payload,只有签名校验通过并且声明符合业务规则(受众、签发方、有效期)时才可信任。

Token 已过期为什么还能解析?

解码只是把 base64url 还原为 JSON,不涉及任何有效性判断。是否过期需要校验 exp 与当前时间,是否可用还要看服务端是否接受。

可以把生产 Token 粘贴到在线工具吗?

本页面的解析与校验都在浏览器本地进行,不发送网络请求。但 Token 等同于登录凭证,仍建议使用测试账号或联调环境的 Token,避免在公共电脑上操作。