免费 JWT 解码器与调试工具
粘贴任何 JSON Web Token 以即时解码其头部和载荷,检查 过期状态,并验证其签名 — 支持 HS256, RS256, ES256, PS256 等。100% 客户端处理; 您的 token 永远不会离开您的浏览器。
JWT 里面有什么
头部 (Header)
一个小型 JSON 对象,指定签名算法 (alg) 和
token 类型 (typ)。它只被解码,未被加密 — 任何拥有
token 的人都可以看到。
载荷 (Payload)
声明 (claims) — 实际数据,例如 token 代表谁
(sub) 以及何时过期 (exp)。同样仅经过编码,切勿将
其视为机密。
签名 (Signature)
头部和载荷上的加密签名。这是唯一 能证明 token 真实且未被篡改的部分 — 也是唯一需要 密钥来验证的部分。
HMAC 或公钥签名常见问题解答
JWT 解码器有什么作用?
JWT 解码器将 token 拆分为三个部分 — 头部、载荷和 签名 — 然后对头部和载荷进行 Base64URL 解码,以便您可以读取其中的实际 声明和元数据,例如使用的算法、主题和过期 时间。
解码 JWT 和验证 JWT 是一样的吗?
不。解码只是揭示 token 的可读内容 — 它不需要任何 密钥,也不能证明其真实性。验证是使用密钥或公钥检查签名 以确认 token 是真实的且未被篡改。 任何人都可以解码 JWT;只有拥有正确密钥的人才能验证它。
我需要密钥才能解码 JWT 吗?
不需要。JWT 的头部和载荷仅进行了 Base64URL 编码,并未加密,因此 任何人都可以解码并读取它们,而无需任何密钥。只有验证签名时 才需要密钥或公钥,解码可读内容则不需要。
我的 token 数据会发送到你们的服务器吗?
不会。此工具完全使用 JavaScript 和 Web Crypto API 在您的浏览器中运行。 您的 token、密钥和公钥永远不会传输到任何地方。您 可以在使用该工具时通过检查浏览器的“网络 (Network)”选项卡来亲自验证这一点。
我可以使用此工具验证 RS256 或 ES256 token 吗?
可以。此解码器支持使用共享密钥对 HMAC 算法 (HS256、HS384、HS512)进行签名验证,并支持使用 PEM 格式的公钥对公钥算法(RS256/384/512、 ES256/384/512、PS256/384/512)进行验证。
为什么我的 token 显示已过期?
JWT 通常包含一个 exp 声明 — 这是一个 Unix 时间戳,标记
token 何时失效。如果当前时间已超过该时间戳,则 token
已过期,任何检查它的服务器都应拒绝它,即使签名本身
仍然有效。
alg: none 是什么意思,为什么会被标记?
"none" 算法意味着 token 声称完全没有签名。 这是一个记录在案的 JWT 漏洞 — 一些配置不当的库 会在不进行任何检查的情况下接受这些 token,从而允许攻击者伪造 任意声明。生产系统应始终拒绝未签名的 token。
需要生成新的密钥吗?
生成一个新的、加密安全的 JWT 密钥来签署新的 token — 免费、即时且 100% 基于浏览器。
前往 JWT 密钥生成器