JWT 生成器
您可在浏览器中直接生成并签署 JWT :输入有效载荷声明(标准格式sub、aud、exp等或自定义内容),选择算法(使用共享密钥的HS256或使用私钥的RS256/ES256),系统便会生成三部分组成的令牌。该工具适用于本地开发、负载测试及验证问题复现场景。
如何生成 JWT
-
1
编写有效载荷
标准声明(`sub`、`iss`、`aud`、`exp`、`iat`、`nbf`)以及您的应用程序所需的任何自定义声明。
-
2
选择算法
采用共享密钥的HS256/384/512算法,或采用PEM格式私钥的RS256/ES256算法。
-
3
提供密钥
可共享 HMAC 的密文,或粘贴RSA/ ECDSA 的私钥。两者均保留在您的浏览器中。
-
4
生成
输出结果为带符号的令牌。请复制该令牌,在测试中使用,并通过 JWT 解码器进行解码以检查其内容。
经认证用户令牌的典型负载
{
"iss": "https://auth.example.com",
"aud": "api.example.com",
"sub": "user_12345",
"iat": 1713398400,
"nbf": 1713398400,
"exp": 1713402000,
"jti": "3c7c7e14-2de4-41f0-bf09-1eb5cfad4c01",
"scope": "read:profile write:posts"
}
算法选择:HMAC 算法与非对称算法
| 算法 | 关键类型 | 适用场景 |
|---|---|---|
| HS256 | 256位共享密钥 | 能自行签名和验证的单体算法 |
| HS384/512 | 加密长度更长 | 与 HS256 相同,安全性更强 |
| RS256 | RSA 2048+ | 发行方签名;多项服务均使用公钥进行验证 |
| ES256 | ECDSA P-256 | 与 RS256 相同,但特征码更小 |
| EdDSA | Ed25519 | 最快速的非对称认证算法,所需密钥长度最短 |
密钥强度
- HMAC 密钥的熵值必须至少与算法输出长度相当。HS256 算法需要 256 个随机比特(32 字节);若少于此数量则易被暴力破解。
- RSA 密钥长度至少为 2048 位;对于长期使用的令牌,可使用 3072 位或 4096 位。
- ECDSA(ES256)在密钥长度显著更短且签名速度更快的前提下,提供了与 RSA 3072 相当的安全性。
有效期指南
| 令牌类型 | 典型 exp 有效期 |
|---|---|
| 访问令牌 | 5–60分钟 |
| 刷新令牌 | 天至周 |
| 密码重置 | 5–15分钟 |
| 邮箱验证 | 24小时 |
| 服务间 | 1–5分钟(较短) |
短期到期+刷新机制的令牌是现代主流模式;而长期有效的访问令牌一旦被攻破,其撤销难度极高。
常见错误
- **在生产环境中重复使用测试密钥。**若密钥安全性不足,生成器会标记HS256密钥及其输出 JWT 为“仅限测试”状态,请务必重视此警告。
- 未使用
exp的签名。 无有效期的 JWT 永久有效。除非有充分理由且被列入撤销名单,否则务必设置exp。 - 在验证端直接采用头部中的
alg。 始终在验证端将算法列入白名单;切勿遵循令牌的要求。 - 在此处粘贴真实的私钥。 该生成器可在您的浏览器中运行,请将私钥视为机密信息:请使用测试密钥而非生产密钥。
常见问题
不。签名操作通过Web Crypto API在您的浏览器中完成。密钥始终保留在您的设备上。不过,生产密钥必须在受控环境中生成和签名,而非在浏览器中进行。
对于需要统一服务签名与验证的单体系统,HS256已足够适用;而当签发方与验证方分离时,RS256或ES256更为合适,此时可共享公钥而不泄露签名密钥。
访问令牌的处理时间通常为5至15分钟。建议使用有效期较长的刷新令牌以确保用户体验流畅。切勿在未包含 exp 索引的情况下签发 JWT。
该工具支持输出 alg: none 以对损坏或未签名的令牌进行针对性测试,并会显示醒目的警告提示。切勿在生产代码中使用此类令牌。
相关工具
随机API密钥生成器
在服务器上生成8–128字符的十六进制、base64url或字母数字API密钥,也可生成UUIDv4。
SSH 密钥生成器
完全在浏览器中生成 RSA SSH 密钥对(2048、3072 或 4096 位)。私钥和公钥都不会离开你的设备。可添加注释并下载两者。
维吉尼亚密码编码器
使用密钥,用经典的维吉尼亚密码对消息进行加密和解密。移位拉丁字母 A-Z,并保留大小写、空格和标点。
编码与密码格式识别器
检查字符串是否具有 Base64、十六进制、二进制、摩斯电码、bcrypt 或类 JWT 结构,了解重叠匹配及各项线索的局限。
文本加密工具
使用AES算法并通过密码对短信进行加密和解密,确保仅收件人能够阅读内容。
SHA256生成器
可从任意文本生成SHA-256哈希值,输出64位字符的十六进制结果;该算法与比特币地址、TLS证书及 JWT 签名所使用的算法完全一致。
此工具还提供其他语言版本
- Generator JWT [ID]
- JWTジェネレーター [JA]
- JWT-generator [SV]
- JWT 생성기 [KO]
- ตัวสร้าง JWT [TH]
- Generator JWT [PL]
- JWT-Generator [DE]
- Bộ tạo JWT [VI]
- Gerador de JWT [PT]
- Generador de JWT [ES]
- مولد JWT [AR]
- JWT-generator [NL]
- Générateur de JWT [FR]
- JWT Generator [EN]
- Generatore JWT [IT]
- Генератор JWT [RU]
- JWT Oluşturucu [TR]