实用指南
JWE 和 JWT 的区别:为什么有些 Token 是五段
很多开发者习惯看到三段式 Token,因为签名 JWT 很常见。但加密的 JWE compact token 不一样,它通常有五段,并且 Payload 不能简单解码出来。
打开免费工具操作步骤
- 先数一下 Token 里用点号分隔的段数。
- 三段通常是签名 JWT 或 JWS compact token。
- 五段通常是 JWE compact token。
- 三段可读 Token 用 JWT 解码工具。
- 五段 Token 用 JWE 解析工具查看 protected header。
- 不要期待没有密钥也能看到 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 证明完整性,具体选择取决于系统需求。