JWTParse 等待输入 解码与验签全部在本地完成,令牌不出浏览器

令牌 可直接粘贴 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 之类的安全上下文 —— 不满足时解码仍可用,验签会提示不可用。