开发者 / 令牌
JWT编码器和生成器
根据JSON负载创建并签名JSON Web Token,支持HS256/384/512、RS256/384/512、PS256/384/512或ES256/384,并可快速添加iat和exp声明,用于测试API。
JWT编码器和生成器: JWT由三个以点号连接的Base64url部分组成:标明算法的标头、包含声明的负载,以及针对前两部分生成的签名。HMAC算法使用共享密钥签名;RSA和ECDSA使用私钥签名,任何持有公钥的人都可以验证签名。签名使用浏览器的Web Crypto API;ECDSA签名会写成JWS所要求的64或96字节r‖s值。 完全在浏览器中本地运行,文件不会上传到服务器。
- 类别
- 开发者工具
- 使用次数
- 在浏览器中
- 费用
- 免费·无需注册
- 可用性
- 可直接使用
完全在浏览器中运行
令牌会在浏览器中使用Web Crypto进行签名。请使用测试密钥:粘贴到任何网页中的密钥都应视为已泄露。
标准声明
iss表示令牌的签发者,sub表示令牌所代表的主体,aud表示令牌的目标对象,exp表示过期时间,nbf表示生效时间,iat表示签发时间,jti表示唯一ID;时间均为自1970年1月1日起经过的秒数。访问令牌的有效期应保持较短,从几分钟到一小时不等,并在每次请求时检查exp和aud。
none算法
一些库曾经接受alg为none且没有签名的令牌;服务器必须始终决定接受哪些算法,绝不能信任令牌自己的标头。因此,此工具只提供带签名的算法。
使用方法
- 选择算法;如果服务器要求密钥ID,请添加密钥ID。
- 编辑JSON负载;一键设置iat或过期时间。
- 输入共享密钥,或粘贴PKCS #8 PEM格式的测试私钥,然后复制令牌。
隐私与限制
负载和密钥会保留在浏览器中。仅使用测试密钥。
相关工具
常见问题
JWT经过加密吗?
没有:任何人都可以通过解码Base64url读取已签名JWT的负载。签名只能证明令牌由谁创建,以及内容未被更改;切勿将秘密放入负载。
我应该使用哪种算法?
如果由同一个服务创建并检查令牌,请使用HS256;如果由其他服务使用公钥验证令牌,请使用RS256或ES256。ES256生成的令牌更短。
我的密钥以BEGIN RSA PRIVATE KEY开头。现在该怎么办?
这是PKCS #1格式;请使用openssl pkcs8 -topk8 -nocrypt -in key.pem进行转换,输出浏览器接受的BEGIN PRIVATE KEY格式。
免费工具·使用在浏览器中次·无需账户