令牌
可直接粘贴 Authorization: Bearer … 整行,会自动挑出令牌
等待输入…
头部 Header 算法与类型
—
载荷 Payload 业务声明
—
声明解读 把注册声明翻译成人话
解析后在这里列出每个声明的含义。
签名与验签 验签只证明「签名有效」,不代表令牌没被吊销
—
—
密钥格式只对 HMAC 有意义;粘贴 PEM 公钥时自动按 RSA / ECDSA 处理。
要知道的几件事 这些坑比解析本身更重要
- JWT 的载荷是「编码」不是「加密」。三段都只是 Base64URL,任何人拿到令牌都能读出全部声明 —— 所以不要往载荷里放密码、身份证号、密钥。要保密就得用 JWE(加密令牌),那是另一套东西。
- 验签通过 ≠ 令牌有效。还得自己看
exp(过期)、nbf(未生效)、aud(受众是不是自己)、iss(签发者是否可信)。很多漏洞就是「只验签不验声明」。 alg必须由服务端白名单决定,不能信令牌里写的。否则攻击者把alg改成none(或把 RS256 改成 HS256 并用公钥当 HMAC 密钥)就能伪造令牌。这是历史上最经典的 JWT 漏洞。- HMAC 密钥泄露等于任何人都能签发。HS256 的密钥是双方共享的;RS/ES 是私钥签名、公钥验签,公钥可以公开。
- 令牌里嵌了时间戳就会泄露签发时间(
iat/exp本身就是时间)。这是协议设计使然,不是 bug。
本页只做本地解码与验签:令牌、密钥都不上传。验签走浏览器原生
crypto.subtle,
需要 HTTPS 或 localhost 之类的安全上下文 —— 不满足时解码仍可用,验签会提示不可用。