JWT 解码:看清 payload 里有什么
JWT 是 Base64URL 加两个点号拼起来的,中间那段 payload 就是明文 JSON。贴进来直接看内容 —— 但记住:看得见不等于可信,签名必须在服务端验。
- header:算法与类型,比如
{"alg":"HS256"} - payload:真正的内容,能解出来看
- signature:签名,不是数据 —— 解不出东西,验签得在服务端做
粘贴即自动处理,不用点按钮(Ctrl+Enter 立刻转换 / Esc 清空)
拖文件进来,或 ——截图直接 Ctrl+V 也行
任意类型 · 100 MB 封顶
粘贴、拖拽、Ctrl+V 截图都行
三段分别是什么
- header:算法和类型,比如
{"alg":"HS256","typ":"JWT"} - payload:真正的内容 —— 用户 ID、权限、签发时间
iat、过期时间exp - signature:用密钥对前两段算出来的签名,不是数据,解不出东西
另外:JWT 用的编码是 URL-safe 版(-_ 取代 +/),细节见 Base64URL。
看得见 ≠ 可信
payload 只是 Base64URL 编码,不是加密。谁拿到 token 都能看见内容,所以别往里放密码、身份证号、密钥这类东西。防篡改靠的是第三段签名,而验签必须在服务端用密钥做。
换个角度说:任何声称「在线验证 JWT」但不问你要密钥的工具,验的一定不是真签名。
什么时候用得上
排查登录态(token 里的 exp 是不是过期了)、确认后端下发的权限字段、看第三方回调里的 token 内容。开发调试时把 payload 看清楚,比在后端打日志快得多。
常见问题
为什么贴进去提示格式不对?
两个常见原因:复制时漏了某一段;或者中间那段末尾的填充符在传递途中被吃掉了。工具会自动补填充符,但数据本身缺斤少两是补不回来的。
Signature 能解码出来吗?
不能,也不需要。签名是 HMAC 或 RSA 算出来的字节,不是编码过的数据。
能验证签名吗?
不能,本站不做验证。验签需要密钥或公钥,属于服务端的事。