DevKit源码

JWT 解析与验签

解码 JWT Header / Payload 并本地验签,解释时间字段。

Token
JWT(eyJhbGciOi…)
未执行
签名验证(独立执行:解码成功 ≠ 签名有效)
解码成功 ≠ 签名有效:解码不使用密钥,任何人都可构造。请选择算法并用密钥验证签名。

使用 WebCrypto HMAC(SHA-256)在本地重算签名并与第三段逐字节比对;不请求任何网络(含 JWKS)。

示例使用公开测试密钥 devkit-secret(仅演示用,请勿在生产环境使用)

使用 WebCrypto HMAC(SHA-256)在本地重算签名并与第三段逐字节比对;不请求任何网络(含 JWKS)。
未执行
关于本工具
  • 解码完全在浏览器本地进行(Base64URL + UTF-8 + JSON),不发起任何网络请求(包括 JWKS)。
  • 验签支持 HS256 / HS384 / HS512(WebCrypto HMAC,与第三段逐字节比对);RS256 / ES256 暂不支持,alg 为 none 时拒绝视为有效签名。
  • 示例 Token 由 node crypto 真实生成(HS256,密钥 devkit-secret,公开测试密钥);「被篡改签名」示例将 Payload 的 subdevkit-demo 改为 devkit-admin 并保留原签名(签名段未改)——解码仍然成功,但验签必然失败。
  • 过期判断以本机时钟为准(exp ≤ 当前秒数视为已过期)。

什么时候用「JWT 解析与验签」

调试登录态时想看清 JWT 里放了哪些字段、什么时候过期。

使用要点

  • 解码 Header / Payload,时间字段会换算成可读时间。
  • 本地验签可确认 token 是否被改动过。
  • 只解析不发送,token 不会离开浏览器;生产 token 也不要在不可信页面粘贴。

相关工具

JWT 解析与验签与其他 44 个工具一样,全部计算都在你的浏览器里完成:输入、密钥与文件不会发送到服务器,页面首次加载后可离线使用。