BaseToolbox LogoBaseToolbox
Blog

© 2025 基础工具箱。保留所有权利。

隐私政策关于联系我们

JWT 过期时间怎么看?exp 字段怎么转换

发布于 2026年6月25日

JWT 突然不能用时,最先看的字段通常是 exp。

RFC 7519 里,exp 表示 JWT 的过期时间;当前时间达到或超过这个时间后,JWT 就不应该再被接受。它的值是 NumericDate,通常表示 Unix epoch 以来的秒数。

怎么读 exp?

解码后的 payload 可能长这样:

{
 "sub": "123",
 "iat": 1760000000,
 "exp": 1760003600
}

判断步骤:

  1. 解码 JWT payload。
  2. 找到 exp。
  3. 把时间戳转成 UTC 或本地时间。
  4. 和当前时间比较。

如果当前时间等于或晚于 exp,token 就已经过期。

秒和毫秒别搞错

JWT NumericDate 通常是秒。JavaScript 的 Date.now() 返回毫秒,所以经常有人乘除 1000 出错。

常见写法:

const isExpired = Date.now() >= payload.exp * 1000;

只解码不代表可信

JWT decoder 只能看到 header 和 payload,不代表签名有效。调试时可以解码查看,正式校验仍然要交给后端或认证库验证签名和过期时间。

一句话总结

解码 JWT 后读取 exp,把它当作 Unix 秒级时间戳转成可读时间,再和当前时间比较。即使 payload 看起来正常,过期 JWT 也不应该继续接受。

实用流程

把这类操作当作本地检查任务。先复制一份待检查内容,避免粘贴生产密钥、真实 token 或用户密码;再用工具查看字段、生成值或计算哈希;最后回到真正负责安全控制的系统里验证。

解码后的 JWT、生成的密码、计算出的 SHA-256 哈希,都只能帮助你理解当前值。它们不能替代服务端签名校验、密码管理器、发布者签名、恢复码和账号恢复流程。安全相关内容尤其要避免“看见结果就相信”。

检查清单

| 检查项 | 为什么重要 | |---|---| | 是否暴露密钥 | 生产 token、私钥、密码不应粘贴到不可信服务。 | | UTC 和本地时间 | 过期时间、时间戳经常因为时区理解错误而误判。 | | 是否逐字符一致 | 哈希、密钥、编码值只要差一个字符,结果就不同。 | | 是否有恢复方案 | 密码和 2FA 都需要备份码或账号恢复路径。 |

常见问题

能只看工具显示结果就下结论吗?

不建议。工具结果适合辅助理解,最终仍要以服务端验证、密码管理器、官方发布签名或账号恢复流程为准。调试时尽量使用脱敏样例。

使用场景示例

安全相关的值通常有两个读者:人和系统。工具帮助人理解这个值,但最终是否有效,仍然由系统判断。例如 JWT 的过期时间能读出来,不代表签名有效;SHA-256 一致只能说明文件匹配这个哈希,不代表发布者可信。

因此工具适合缩小问题范围,最后还要回到真正的安全控制:后端 token 校验、密码管理器、官方校验页面、签名发布包或账号恢复设置。

exp 最常见的坑

JWT 的 exp 通常是秒级 Unix 时间戳,而 JavaScript 的 Date.now() 是毫秒。如果直接比较,就会把过期时间判断错。调试时要先确认单位,再转换成本地时间或 UTC 时间。

另外,解码 JWT 只能看到 payload 里写了什么,不能证明 token 可信。攻击者也可以构造一个看起来没过期的 payload。真正用于登录和权限判断时,后端仍然要验证签名、issuer、audience 和过期时间。

所以在线 JWT 工具适合排查“这个 exp 到底是哪一天”“为什么前端觉得过期了”这类问题,不适合替代服务端鉴权。涉及生产问题时,要同时查看服务端日志、时区设置和系统时钟。

还要看时钟偏差

JWT 刚好接近过期时,客户端、服务端和身份提供方之间的时钟差异会放大问题。用户看到“还没过期”,服务端却拒绝,可能不是转换错,而是机器时间、缓存或刷新逻辑不同步。

排查这类问题时,要把解码出来的 exp、服务端日志时间、签发时间和刷新时间放在一起看。不要只靠浏览器里显示的一行过期时间下结论。

安全类结果不能只看表面

解码 JWT 的 exp 字段,把 NumericDate 转成本地时间,并理解为什么过期 token 不能继续接受。 安全相关工具适合帮助理解结果,但不能替代真正的验证系统。JWT 要回到后端验签,密码要看密码管理器和账号策略,校验值要和官方来源对比。

使用“解码 JWT”时尽量避免粘贴敏感值。如果必须检查真实数据,要记录来源、时间和预期结果,最后仍以服务端、发布页或账户系统为准。

再多确认一步

解码 JWT 的 exp 字段,把 NumericDate 转成本地时间,并理解为什么过期 token 不能继续接受。 真正发布或使用前,建议拿一个最接近真实场景的例子再走一遍:看输入是否完整、输出是否能被目标平台接受,以及是否需要保留原始版本。这个检查很短,但能拦住很多“预览没问题、实际出错”的情况。

参考资料:

  • RFC 7519: JSON Web Token

想直接试试看?

用我们的免费在线工具,把文章里的方法马上用起来。

解码 JWT