JWT令牌结构解析与签名验证器

拆解JSON Web Token的Header、Payload与签名,直观展示声明与过期时间

JWT令牌结构解析与签名验证器

拆解JSON Web Token的Header、Payload与签名,直观展示声明与过期时间

工作原理

1
输入或粘贴文本
将待处理的文字、代码或数据直接输入工作区。
2
应用格式化或转换
运行工具执行清洗、转换、筛选或统计分析。
3
一键复制结果
单击将排版规整的输出内容复制到剪贴板。
深度技术指南与知识库

JWT 解码器与签名校验工具:Header、Payload 检查与有效期分析

JSON Web Token(JWT)调试与验证器为前后端架构师与接口安全审计人员提供快速解构与探查 RFC 7519 凭据的核心能力。工具可将 Base64URL 编码的三段式令牌即时拆分为头部(Header)、有效载荷(Payload)与签名(Signature),自动检测令牌是否已逾期(exp)以及是否早于生效时间(nbf)。

移动端开发人员排查用户登录态偶发失效问题时,将客户端请求头携带的 Bearer Token 粘贴至输入框中。工具以彩色区分段落即刻展示解码后的 JSON 内容:Header 包含算法类型 {"alg":"HS256","typ":"JWT"},Payload 呈现出当前用户 ID、角色权限数组及 exp: 1774656000 时间戳。界面直观标注出“令牌已过期 14 分钟”的状态警告,并支持输入共享密钥在本地计算验证 HMAC-SHA256 签名一致性。

所有的 Base64URL 逆向反序列化与签名散列校对完全在浏览器本地沙箱环境中完成,用户的敏感身份凭据与密钥绝不通过网络上传,杜绝生产环境 Access Token 遭第三方窃取的安全隐患。

计算公式与底层原理推导

JWT = Base64URL(Header) . Base64URL(Payload) . Base64URL(HMAC-SHA256(Header + '.' + Payload, Secret))

以英文句点(.)为分隔符将三部分拼接。校验签名时将前两段与共享密钥送入 HMAC 哈希算法,与末段签名进行恒定时间常数比对以防御时序攻击。

最佳实践与工程实战指南

  • 绝对禁止在 Payload 中明文存放用户敏感密码:JWT 的载荷仅做 Base64URL 编码,并未进行任何对称加密,任何人均可逆向读取其中的 JSON 属性,切勿包含手机号、密码或私钥。
  • 服务端严禁盲目信任客户端 Header 声明的 alg: none:历史安全漏洞表明,部分后端库在未做安全校验时可能被攻击者将 alg 篡改为 none 从而绕过签名验证,后端必须强制锁定算法。
  • 严格校验 exp(过期时间)与 nbf(生效时间)时间戳:无有效期限的 JWT 令牌等同于永久通行证,一旦网络截获将造成严重灾难,生产环境 Access Token 建议设置在 15-60 分钟内。
  • 密钥(Secret Key)必须具备足够的随机熵:对于 HS256 对称签名,密钥长度建议不低于 256 位(32 个强随机字节),杜绝使用简短弱口令以防御离线彩虹表暴力破解。

常见问题解答 (FAQ)

为什么不输入密钥我也能看懂 JWT Payload 里的全部数据?
因为 JWT 的设计初衷是“防篡改的数据签名传输”而非“加密隐藏”。其 Payload 仅进行了公开标准的 Base64URL 序列化,任何获取到令牌的人都可以直接还原查看内容。
JWT 过期后能否直接在客户端修改 exp 延长有效期?
不能。篡改 Payload 中的任何字符都会导致第三段数字签名失效。服务端接收到篡改后的令牌重新计算 HMAC 签名时必然比对失败,并立即拒绝该非法请求。
什么是 Base64URL 编码,它与普通 Base64 有何区别?
Base64URL 专为 URL 和 HTTP 头部设计:它将标准 Base64 中的 '+' 替换为 '-',将 '/' 替换为 '_',并省略末尾用于对齐的 '=',防止在网络传输协议中引起特殊符号转义冲突。
在这里粘贴生产环境的真实用户 Token 测试安全吗?
安全。本工具纯本地离线解析,没有服务器端存储与中转,但出于工程最佳实践,仍建议在公共电脑上调试时使用测试环境分发的模拟 Token。