跳到主要内容

JWT 编码:HS256 / HS384 / HS512 在线签名

JWT 编码器,选算法 (HS256/HS384/HS512),配 header / payload / secret,生成 token。

  • 本地处理
  • 分类 编码加密
  • 适合 快速检查小 payload、令牌、哈希和编码值。
secret 不离开浏览器。HS256/384/512 请用随机密钥,不要用人类口令。
生成的 JWT

这个工具能做什么

免费在线 JSON Web Token 编码工具。选 HS256 / HS384 / HS512,编辑 header 和 payload(JSON 文本),填 secret,复制签好的 token。签名 通过浏览器原生 SubtleCrypto 的 HMAC 算法完成,secret 不发出。 可作为 JWT 解码器的反向工具,用于本地接口调试。

工具细节

输入
文本 + 结构化内容
页面会根据工具类型展示文本框、数值控件、文件选择或结构化输入。
输出
即时结果 + 复制
结果区优先给出可操作结果,支持项会显示复制、下载或可视化预览。
隐私
浏览器本地处理
主工具逻辑未发现外部 API 调用,输入通常留在当前标签页内处理。
保存 / 分享
免账号使用
打开页面即可使用;刷新后是否保留结果取决于具体工具。
性能预算
首屏 JS ≤ 18 KB
没有声明 WASM 依赖,适合快速打开和移动端使用。
适用场景
编码加密 · 程序员
分类和职业标签用于推荐相关工具、组织内链,并帮助用户快速判断是否适合当前任务。

怎么用

  1. 1. 输入

    把内容粘贴或拖入工具面板。

  2. 2. 处理

    点击按钮,在浏览器内本地处理,文件不上传。

  3. 3. 复制 / 下载

    一键复制结果或下载到本地。

JWT 编码器 适合怎么用

适合做浏览器本地的编码、解码、哈希、令牌检查和可分享转换。

适合编码任务

  • 快速检查小 payload、令牌、哈希和编码值。
  • 把值整理好再放进 API、URL、文档或客服工单。
  • 输入可能敏感时,尽量避开账号型在线工具。

编码检查项

  • 真实密钥不要随便粘贴,除非确认能接受本地浏览器处理。
  • 分享结果前确认这个操作是否可逆。
  • 哈希值要核对算法和大小写是否符合对方要求。

下一步可以接着做

这些入口会把当前任务接到更完整的工具链里。

  1. 1 JWT 解码器 解码 JWT 的 Header / Payload / Signature,看声明、查过期、复制字段,全程浏览器本地 打开
  2. 2 Base64 编码 / 解码 文本、文件、Data URL 一站搞定,纯浏览器运行,数据不离开本地。 打开
  3. 3 MD5 / SHA 哈希 一次算出 MD5 / SHA-1 / SHA-256 / SHA-384 / SHA-512 五种摘要,全在浏览器本地 打开

真实使用场景

  • 不起鉴权服务,直接造个测试 token 打 staging 接口

    后端用共享密钥(比如 dev-only-secret)做 HS256 校验。把这个 secret 填进来,payload 写 {"sub":"42","role":"admin","exp":1735689600},复制出来的 token 直接塞进 curl -H "Authorization: Bearer ..."。整个登录流程都省了,30 秒内就能跑真实的鉴权中间件。

  • 复现同事报的「签名校验不过」问题

    对方说同样的 payload 在他机器上生成的 token 不一样。用他那把 secret 在这里签一遍,逐字节对。 十有八九是他 .env 里 secret 末尾多了个换行,或者 JSON 没 minify 留了空格。两分钟当面对一下, 比在群里来回扯一小时强。

  • 故意造一个过期 token,测你的 401 处理

    想确认刷新逻辑真的会触发,得有个 exp 已经过去的 token。把 exp 设成 {"sub":"u1","exp":1577836800}(2020 年 1 月),签出来打你的接口。处理正确的服务端会返回 401 并触发刷新;要是返回 200,说明过期校验根本没生效,你正好在用户之前抓到了这个坑。

  • 在安全分享或新人培训里演示 HMAC 防篡改

    先用 role:"user" 签一个 token 展示出来,然后把 secret 改一个字符再签。签名整段都变了,直观说明 为什么攻击者就算把 payload 里 role 改成 admin、但拿不到 secret,也永远造不出能通过校验的 token。 这个 60 秒的实操演示,比放一页公式的幻灯片管用得多。

常见踩坑

  • 拿生产密钥来「随便试试」。本页是本地签名,但你输入的 secret 一样会留在剪贴板和 shell 历史里,等于已暴露,用 test-secret-123 这种一次性测试密钥就好。

  • 忘了 exp 是 Unix 秒不是毫秒。写成 {"exp":1735689600000} 会把过期时间设到公元 56992 年,token 永不过期,把末尾的 000 去掉,或者用 Math.floor(Date.now()/1000)+3600。

  • 以为 header 里的 alg 会自动同步。你把 header 改成 {"alg":"none"} 但下拉框选的是 HS256,签名按下拉框走、header 却在撒谎,让 header 里的 alg 跟你实际选的算法保持一致。

隐私说明

所有计算都在你的浏览器里完成。header、payload 和 secret 用 SubtleCrypto 的 HMAC 在本地签名, 不发往任何服务器,不记日志,不留存。工具不会把 secret 同步进 URL,所以分享链接绝不会泄露它, 你输入的内容最远只到自己这个标签页。关掉标签页就什么都不剩。不过 secret 在页面开着时仍存在于 剪贴板和浏览器内存里,所以请用一次性的测试密钥,别用真实的生产密钥。

常见问题

类似工具组合

做你这行的人, 还会一起用这些。

Made by Toolora · 100% client-side · Updated 2026-06-13