JWT 生成
用密钥签发 HS256 JWT 令牌。
什么是JWT 生成?
JWT(JSON Web Token)是一种紧凑的、自包含的令牌格式,由 Header、Payload、Signature 三部分组成,用英文句点拼接并做 Base64URL 编码。这个工具用于生成 HS256(HMAC-SHA256)算法签名的 JWT:填入 Payload(如用户 ID、过期时间 exp、签发时间 iat 等声明)和密钥(Secret),即可签发一个带签名的 Token 字符串,服务端可用同一密钥验证该 Token 是否被篡改。
为什么使用JWT 生成?
JWT 常用于无状态的身份认证——用户登录后服务端签发 Token,后续请求带上 Token,服务端无需查数据库或 Session 即可通过验证签名判断用户身份和权限,适合前后端分离、微服务、移动端 API 等场景。相比传统 Session 需要服务端存储状态,JWT 把状态放进了 Token 本身,便于横向扩展;但也因此有"签发后无法主动吊销"的缺点,需要配合过期时间(exp)和黑名单机制使用。该工具常与"JWT 解析"工具配合:一个用来签发测试 Token,一个用来解码调试线上收到的 Token。
使用示例
生成一个测试用登录态 Token
Payload 填 {"sub":"1001","name":"张三","role":"admin","exp":1735689600},密钥填 my-secret-key,选择 HS256 算法,生成后得到形如 eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiIxMDAxIn0.xxxx 的三段式字符串,可直接放进 Postman 的 Authorization: Bearer 头做接口联调测试。
设置过期时间
exp 声明是 Unix 时间戳(单位为秒),表示 Token 过期时刻;例如当前时间戳加 3600 表示 1 小时后过期,服务端验证库会自动比对 exp 与当前时间来判断 Token 是否已失效。
用同一密钥验证签名
把生成的 Token 和签发时用的密钥一起交给"JWT 解析/校验"功能,若签名校验通过说明内容未被篡改;换一个错误密钥校验则会失败,这正是 JWT 防篡改的核心机制。
使用提示
切勿把生产环境使用的真实密钥粘贴到任何在线工具中(即便声称本地处理),测试联调请使用专门的测试密钥,且注意 exp 应使用秒级 Unix 时间戳而非毫秒。
常见问题
这里生成的是哪种算法的 JWT?
Header 需要自己填 alg 和 typ 吗?
密钥和数据会上传服务器吗?
这个 Token 安全吗,别人能看到 Payload 内容吗?
HS256 和 RS256 有什么区别?
生成的 Token 可以直接在生产环境使用吗?
为什么相同 Payload 每次生成的 Token 不完全一样?
相关工具
← 返回工具箱· 数据均在浏览器本地处理,不上传服务器。