什么是JWT 生成与签名校验?
JWT 生成工具用 HS256、HS384 或 HS512 对自定义 Payload 签名,输出完整令牌;同时可用同一密钥校验任意令牌的签名是否有效并检查是否过期。签名与校验都在浏览器本地完成。
怎么用JWT 生成与签名校验?
- 1编辑 Payload(JSON),按需加入 sub、exp、iss 等声明。
- 2填写 HMAC 密钥并选择算法。
- 3点击「生成令牌」,结果可直接用于测试请求。
- 4把任意令牌粘进验签框,点击校验可确认签名与有效期。
在代码里怎么实现?
一次性操作用上面的工具,重复性工作建议固化到脚本或项目里。
Node.js
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 是否在有效期内、算法是否在白名单内,以及令牌是否已被吊销。逐项对照服务端的校验逻辑即可定位。
相关工具
全部工具Base64 编码 / 解码
Base64 Encoder & Decoder
Base64 编码与解码,支持 UTF-8 与 URL-safe
文件 Base64 转换
File to Base64
文件转 Base64 与 Data URI,文件不上传
URL 编码 / 解码
URL Encoder & Decoder
URL 编码解码,区分整串与参数两种语义
HTML 实体转义 / 反转义
HTML Entity Encoder
HTML 实体转义与反转义
Hex 与文本互转
Hex to Text Converter
文本与十六进制互转,支持多种分隔风格
Unicode 转义 / 还原
Unicode Escape Converter
Unicode 转义与还原,支持三种写法