tomai
登录
免费 · 开发者工具

JWT 解析与验签

解码 JSON Web Token 并验证 HS/RS/ES/PS 签名 —— 全程在浏览器完成

编码后的 Token
HEADER
PAYLOAD

什么是 JWT 解析器?

JWT(JSON Web Token)是现代 Web 应用里最常见的认证凭证,由 Header、Payload 和签名三部分组成。Payload 里存着用户信息、过期时间等数据,但看起来只是一串乱码般的 base64 文本。这个工具能把 Header 和 Payload 解码成易读的 JSON,把 exp、nbf、iat 等注册声明翻译成人话并显示具体日期,还会用状态徽章告诉你 token 是已过期、有效还是尚未生效。它还能验证签名:HS256/384/512 用共享密钥,RS/PS/ES 用 PEM 公钥,全部基于浏览器内置的 Web Crypto。开发者调试登录流程时,不用再把生产环境的 token 贴给第三方网站。

这款工具能做什么

  • 📖 将 Header 与 Payload 解码为格式化的 JSON
  • 🏷️ 对注册声明逐条给出人话解释
  • ⏳ exp、nbf、iat 同时显示精确时间和相对时间
  • ✅ 使用密钥验证 HS256/384/512 签名
  • 🔏 使用 PEM 公钥验证 RS/PS/ES 签名
  • 🚦 已过期 / 有效 / 尚未生效状态徽章
  • ⚠️ 对 alg 为 none 的不安全 token 给出警告

什么时候会用到

  • 排查登录接口返回 401 的原因
  • 检查某个 token 为什么突然失效
  • 信任第三方身份提供商签发的 token 之前先验证
  • 查看刷新令牌里到底有哪些声明

隐私:token 和密钥都在浏览器本地处理,不会上传到任何服务器,粘贴真实凭证也完全放心。

三段结构到底是什么

JWT 是用点号连接的三段 base64url:

  • header 写明算法;payload 装着声明;signature 用密钥把前两段绑在一起。
  • header/payload 完全没有加密——任何拿到令牌的人都能读出全部声明。这是设计使然:JWT 是签名容器,不是保险箱。
  • 验证需要签名密钥且只应发生在你的服务器上;本页在本地解码,让你无需把令牌交给远端就能检查内容。

解码不等于验证

声明变成真实日期

头与载荷以可读 JSON 呈现,exp、nbf、iat 等注册声明会转成真实日期,并明确给出已过期、有效或尚未生效的判定。

🔒

HS、RS、PS、ES 签名验证

HS256/384/512 可用明文或 base64 形式的共享密钥验证,RS、PS、ES 令牌可用 PEM 公钥验证,全部通过页面内的 Web Crypto 完成。

🎯

格式错误的令牌有明确说明

结构问题会被精确报告——缺少分隔点、头无效、载荷无法读取——声称使用 none 算法的令牌会被标记出来而非直接信任。

常见问题

我的 token 会被发送到服务器吗?

不会。解码和签名验证全部使用浏览器的 Web Crypto API 在本地完成。你的 token、密钥和公钥绝不离开设备,因此可以安全地检查生产环境 token。

支持验证哪些签名算法?

支持带共享密钥的 HS256/384/512(密钥可为 UTF-8 或 base64url),以及非对称的 RS256/384/512、PS256/384/512、ES256/384/512——粘贴 PEM 公钥即可。非对称 token 只需公钥,绝不需要私钥。

JWT 并未加密,这意味着什么?

标准 JWT 只是 base64url 编码并签名,并未加密,因此任何人都能读取其 Payload。切勿在 JWT 中放入机密信息。签名只能证明 token 未被无密钥者篡改。

提示签名无效——是令牌被伪造了吗?

多数是三个平淡的原因之一:令牌由另一个环境的密钥签发;签发方轮换了密钥而你手里的还是旧的;或者 header 里的算法与验证端预期不一致(臭名昭著的 alg=none 把戏)。先用这里解码看 header,再和你后端实际用的密钥核对。

相关工具

相关工具