实用指南

JWE 和 JWT 的区别:为什么有些 Token 是五段

很多开发者习惯看到三段式 Token,因为签名 JWT 很常见。但加密的 JWE compact token 不一样,它通常有五段,并且 Payload 不能简单解码出来。

打开免费工具

操作步骤

  1. 先数一下 Token 里用点号分隔的段数。
  2. 三段通常是签名 JWT 或 JWS compact token。
  3. 五段通常是 JWE compact token。
  4. 三段可读 Token 用 JWT 解码工具。
  5. 五段 Token 用 JWE 解析工具查看 protected header。
  6. 不要期待没有密钥也能看到 JWE 的加密 Payload。

重要提示

  • JWT 是声明格式,JWS 用于签名,JWE 用于加密。
  • JWE protected header 可能包含 alg、enc、kid、zip,但不会泄露加密声明。
  • 如果应用期望 JWT 却拿到 JWE,要检查身份提供商的加密设置。
  • 不要因为 Token 难以查看就关闭验证。

常见问题

为什么我的 Token 有五段?

它很可能是 compact JWE,包含 protected header、encrypted key、IV、ciphertext 和 authentication tag。

JWE 能像 JWT 一样解码吗?

只能查看 protected header。Payload 是加密的,需要正确密钥才能解密。

JWE 比 JWT 更安全吗?

它们解决的问题不同。JWE 隐藏内容,JWS 证明完整性,具体选择取决于系统需求。

相关指南