JWT 解析与验签
解码 JWT Header / Payload 并本地验签,解释时间字段。
解码成功 ≠ 签名有效:解码不使用密钥,任何人都可构造。请选择算法并用密钥验证签名。
使用 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 的sub由devkit-demo改为devkit-admin并保留原签名(签名段未改)——解码仍然成功,但验签必然失败。 - 过期判断以本机时钟为准(exp ≤ 当前秒数视为已过期)。
什么时候用「JWT 解析与验签」
调试登录态时想看清 JWT 里放了哪些字段、什么时候过期。
使用要点
- 解码 Header / Payload,时间字段会换算成可读时间。
- 本地验签可确认 token 是否被改动过。
- 只解析不发送,token 不会离开浏览器;生产 token 也不要在不可信页面粘贴。
相关工具
JWT 解析与验签与其他 44 个工具一样,全部计算都在你的浏览器里完成:输入、密钥与文件不会发送到服务器,页面首次加载后可离线使用。