JWT 生成与签名校验

JWT 生成与 HMAC 签名校验

浏览器内运算JWT Generator & Verifier工具型03编码与加密

什么是JWT 生成与签名校验

JWT 生成工具用 HS256、HS384 或 HS512 对自定义 Payload 签名,输出完整令牌;同时可用同一密钥校验任意令牌的签名是否有效并检查是否过期。签名与校验都在浏览器本地完成。

怎么用JWT 生成与签名校验

  1. 1编辑 Payload(JSON),按需加入 sub、exp、iss 等声明。
  2. 2填写 HMAC 密钥并选择算法。
  3. 3点击「生成令牌」,结果可直接用于测试请求。
  4. 4把任意令牌粘进验签框,点击校验可确认签名与有效期。

在代码里怎么实现?

一次性操作用上面的工具,重复性工作建议固化到脚本或项目里。

import jwt from 'jsonwebtoken';

const token = jwt.sign({ sub: '10241', roles: ['admin'] }, process.env.JWT_SECRET, {
  algorithm: 'HS256',
  expiresIn: '1h',
});

const claims = jwt.verify(token, process.env.JWT_SECRET);

常见问题

为什么只支持 HMAC 系列算法?+

因为 RS256 等非对称算法需要在页面里输入私钥,而私钥不应出现在浏览器中。测试用 HMAC 已经够用;需要 RS256 时请在后端签发,前端只做解码查看。

生成的令牌可以直接用于生产吗?+

不建议。生产令牌应由认证服务签发,并携带正确的 iss、aud、exp 与刷新机制。本工具生成的令牌适合本地联调、写测试用例与验证服务端校验逻辑是否严格。

验签通过但服务端仍返回 401,为什么?+

签名有效只说明令牌没被篡改。服务端还会校验 iss、aud 是否匹配、exp/nbf 是否在有效期内、算法是否在白名单内,以及令牌是否已被吊销。逐项对照服务端的校验逻辑即可定位。

相关工具

全部工具