Skip to main content
CheckTown
开发工具

JWT 解码器:在线查看并调试 JSON Web Token

发布于 阅读约 5 分钟
本文目录

什么是 JWT?

JSON Web Token(JWT)是一种紧凑且 URL 安全的令牌,用于在双方之间表示声明(claims)。JWT 是现代身份认证与授权系统的支柱——它们由服务器在登录后签发,并随后续的 API 请求一同发送,以证明身份。

一个 JWT 由三个以点号分隔、经 Base64URL 编码的部分组成:头部(算法和令牌类型)、载荷(声明/数据)和签名(完整性校验)。签名使用密钥或私钥生成,使令牌具备防篡改特性。

JWT 解码的工作原理

解码 JWT 会在不校验签名的情况下揭示其内容——这对调试很有用,但不能用于安全决策。

  • 头部解码——揭示签名算法(HS256、RS256 等)和令牌类型
  • 载荷解码——暴露所有声明,包括用户 ID、角色、过期时间和自定义数据
  • 过期检查——根据 exp 声明计算令牌是否已过期

免费试用 —— 无需注册

解码 JWT 令牌 →

何时使用 JWT 解码

在 API 开发和调试工作流中,JWT 解码必不可少。

  • API 调试——当请求以 401 或 403 错误失败时,查看令牌内容
  • 集成测试——验证你的认证服务器是否在签发的令牌中嵌入了正确的声明
  • 令牌过期诊断——快速检查身份认证失败是否由令牌过期引起

常见问题

我能信任解码后的 JWT 内容吗?

解码会揭示载荷,但不会校验签名。除非你已用正确的密钥或公钥校验过签名,否则切勿基于解码后的令牌内容做出安全决策。CheckTown 的解码器仅供查看之用。

我绝不应该在 JWT 载荷中放入什么?

切勿在 JWT 载荷中存放密码、信用卡号或私钥等敏感信息。JWT 是经过编码而非加密的——任何截获令牌的人都可以在没有签名密钥的情况下解码载荷。

HS256 和 RS256 有什么区别?

HS256(HMAC-SHA256)在签名和校验时使用同一个共享密钥。RS256(RSA-SHA256)使用私钥签名、公钥校验。在分布式系统中,当许多服务需要在无法访问签名密钥的情况下校验令牌时,RS256 更受青睐。

相关工具