声明:本工具仅做本地解码,不验证签名,请勿用于生产环境的鉴权判断。

100% 浏览器本地计算 · 无需后端

Base64 不是加密,
JWT 也不等于安全

粘贴一段字符串或一个 JWT,我们解码给你看,再把风险一条条讲给你听。所有计算都发生在你的浏览器里,粘贴的内容不会离开这台设备。

2 个工具解码 + 安全提示 / 明文澄清
5 条规则JWT 静态安全逐条检查
0 份上传无接口、无日志、无数据库
Tools / 工具箱

选一个工具,粘贴就能用

不需要注册、不需要密钥,也不需要先懂原理。下面的结果都是即时生成的。

粘贴一个 JWT,逐条看它的安全隐患

前端解出 header 与 payload,再按 5 条预设规则扫描,命中项给出中文解释和风险等级。

0 字符
Ctrl / ⌘ + Enter

会逐条检查这 5 项 静态规则 · 本地执行

  • alg 是否为 none 严重
  • 是否缺少过期时间 exp 高
  • token 是否已过期 高
  • payload 是否含敏感字段 高
  • 是否缺少标准声明 中

命中项按「严重 / 高 / 中」着色并附中文解释,未命中的显示「通过」。

扫描结果
等待一个 Token 把 JWT 粘进左边的框,或点「风险示例」先看看效果。

说明:JWT 的 header 与 payload 只是 Base64URL 编码,本质是公开可读的明文;签名部分本工具只做展示,不做校验。以上规则是静态启发式检查,不能替代服务端校验、密钥管理与真实的安全审计。

FAQ / 常见问题

关于 Base64 和 JWT,最常被问到的几件事

用大白话回答,不堆术语。

Base64 是加密吗?

不是,一点关系都没有。加密需要密钥,没有密钥就看不懂原文;Base64 只是把同一份数据换了一种公开的文字写法,规则人人都知道。它的用途是让图片、中文、二进制数据能安全地通过「只处理文本」的系统,这里的「安全」指传输时不损坏,不是保密。把 Base64 当成加密,是最常见也最危险的一个误解。

Base64 能破解吗?需要密钥吗?

不需要「破解」,因为本来就没有锁。也不需要密钥、不需要字典、不需要算力,只要把字符串按标准规则反向转换一次就得到明文,本页的解码框就是干这个的。所以看到以 = 结尾、由字母数字和 + / 组成的长串,别指望它是密文。

Base64 安全吗?能用来存密码或身份证号吗?

不能。Base64 编码后的内容仍然是明文,任何拿到字符串的人都能立刻还原出密码、身份证号、手机号等敏感信息。密码应该加盐哈希后存储,敏感数据需要真正的加密与访问控制,传输还应走 HTTPS。Base64 顶多算一种「写法」,不提供任何机密性。

为什么有些 Base64 末尾有 = 号?

因为 Base64 要求输出长度是 4 的倍数,原始数据字节数不够整除时,就用 = 补位。它只是填充符号,不是密码的一部分。另外在网址和 JWT 里常见的是 Base64URL 变体:把 + 换成 -、/ 换成 _,并常常省略末尾的 =,本页两种都能处理。

JWT 里的信息别人能看到吗?

能。JWT 的 header 和 payload 只是 Base64URL 编码,任何人都能解码看到里面的用户 ID、角色、过期时间等全部内容。签名的作用只是防止内容被篡改,并不能防止被读取。所以绝不要把密码、密钥、身份证号塞进 payload。本工具的「敏感字段」检查就是帮你发现这类问题。

alg 为 none 到底危险在哪?

alg: none 表示这个 token 不需要签名。如果服务端实现有缺陷、真的按 header 里的算法去校验,攻击者就能把 payload 改成任意身份(比如把角色改成 admin)再直接提交,完全不需要知道密钥。正规服务端应当明确白名单允许的算法,并拒绝 none。本页只是静态提醒,不会替你验证签名。

这个工具会把我粘贴的 Token 上传吗?

不会。整站只有静态 HTML 和 JavaScript,没有后端接口、没有数据库、没有埋点上报;解码用的 atob / TextDecoder 都是浏览器内置能力。你甚至可以把文件下载到本地、断网后直接打开使用。不过仍建议不要在任何网页里粘贴真实生产环境的凭据。

扫描结果说「通过」,是不是就安全了?

不是。这里的 5 条规则只做静态检查,覆盖不了签名是否有效、密钥强度、算法混淆、服务端是否正确校验 iss/aud/exp、传输是否走 HTTPS 等关键问题。请把结果当作一份快速自查清单,而不是安全结论;生产环境的鉴权判断必须由服务端完成。