签名匹配,但刚好到达过期时间
失败输入:一个 HS256 签名正确的 Token 含有 exp = 1700000000;校验时钟也恰好为 Unix 时间 1700000000 秒。
失败表现:HMAC 依然匹配,但 Token 已过期:有效条件是当前时间 < exp,而不是当前时间 <= exp。相反,nbf 等于当前时间时已满足生效时间条件。
修复:分别检查签名和时间策略。过期后应重新获取签发的 Token;直接修改原 Token 内的 exp 会使签名失效。
校验 HS256 签名,单独检查时间声明
仅支持 HS256;密钥不会按 Base64 或十六进制解码。alg:none 永不视为验签通过,不支持 RS256、HS384、HS512 或 JWKS。
Token 和密钥仅在本页内存中处理,不上传、不写入浏览器存储,也不发送给统计服务。示例密钥公开,仅供演示。
输入 Token 和已知共享密钥,再点击校验。修改任一输入都会清除旧结果。
完整说明还包括常见问题处理、操作示例、代码片段、FAQ 和相关工具,便于核对结果或排查问题。
输入 JWT 和已知共享密钥,以原样 UTF-8 文本校验 HS256 签名。工具使用原始 header.payload 编码段和浏览器 Web Crypto,不将 JSON 重写后再计算。alg:none 不视为认证通过;不支持其他算法、JWKS 或远程获取密钥。签名结果与基于设备时钟的 exp、nbf 检查分开显示,颁发者、受众、权限及撤销状态仍需业务系统校验。输入仅在页面内存处理,不存储,也不发送给统计服务。
失败输入:一个 HS256 签名正确的 Token 含有 exp = 1700000000;校验时钟也恰好为 Unix 时间 1700000000 秒。
失败表现:HMAC 依然匹配,但 Token 已过期:有效条件是当前时间 < exp,而不是当前时间 <= exp。相反,nbf 等于当前时间时已满足生效时间条件。
修复:分别检查签名和时间策略。过期后应重新获取签发的 Token;直接修改原 Token 内的 exp 会使签名失效。
仅支持 HS256,预期算法固定,Token 无法将校验方式切换为 RS256、HS384 或 HS512。alg:none 即使签名为空也不视为认证通过。不支持关键头部扩展或未编码的 payload。
填写签发时用作 HMAC 密钥的原样 UTF-8 文本,保留有意义的空格。此输入框不解码 Base64url、Base64、十六进制、PEM 或 JWK。如果签发方使用解码后的二进制密钥,请使用支持该密钥编码的校验器。
不是。它只表示使用所填密钥计算的 HS256 MAC 匹配。业务系统仍需检查颁发者、受众、时间、权限和撤销策略;正确签名的 Token 也可能已经过期或不应被接受。
exp 和 nbf 必须是以秒为单位的有限 NumericDate 数值。以点击校验时采集的设备时间为准,exp 必须严格大于当前时间,nbf 可以等于当前时间,不添加时钟宽限。iat 只显示,不判断未来签发策略;缺少声明会明确标注,不代表 Token 有效。
仅在当前页面内存处理,不上传、不写入浏览器存储,也不将值发送给统计服务。打开工具时会删除旧版本曾保存的草稿。主动点击“复制声明”会将解码后的声明写入系统剪贴板。
使用点号分隔的三段紧凑 JWS,各段必须为规范的无填充 Base64url;header 和 payload 必须是 UTF-8 JSON 对象。可忽略整个 Token 首尾空白,但不接受段内空白或等号填充。输入上限为 128 KiB。
继续浏览