跳转到生成器

2FA 验证码生成器

粘贴你的 Base32 2FA 密钥,立刻拿到可用的 6 位两步验证码。本页跑的是与 Google Authenticator、Microsoft Authenticator、Authy 完全一样的 RFC 6238 TOTP 算法,所以生成的一次性密码在 Binance、GitHub、Discord、Facebook、X 以及任何开启了 2FA 的网站上都能通过。

输入你的 2FA 密钥,立即获取验证码。

验证码将
显示在这里

2FA 验证码是什么?

2FA 验证码是一个 6 位的一次性密码,用来证明除了密码之外,你手里还握着第二重凭证。各家平台的叫法不一样:两步验证码、动态验证码,或者干脆就叫 OTP。它们背后几乎都是同一个标准——TOTP,也就是基于时间的一次性密码,由 RFC 6238 定义。

开启两步验证时,平台会给你看一串密钥:一小段 Base32 编码的字母和数字,比如 JBSWY3DPEHPK3PXP。这串密钥和当前时间在两边各算一遍同样的公式,所以你的身份验证器和平台在完全不通信的情况下也能得出一模一样的验证码。结果每 30 秒刷新一次,验证码就算被人截获,也几乎立刻作废。

只要实现了这个标准,同一串密钥算出来的验证码就是同一个——根本不存在“只有 Google 认”或“只有 Authy 认”的验证码。手机不在手边时,这个页面正是靠这一点替代身份验证器应用。想把原理弄明白,可以读读《两步验证是什么》和《TOTP 算法是怎么算出每个验证码的》。

如何用密钥生成 2FA 验证码

1

1. 粘贴你的 Base32 2FA 密钥

从账户的两步验证设置页面复制 Base32 密钥并粘贴到这里。

2

2. 拿到 6 位 TOTP 验证码

6 位验证码会立即显示,并每 30 秒自动刷新一次。

3

3. 复制验证码并登录

点击验证码即可复制,然后粘贴到需要登录的地方。密钥始终只留在你的浏览器中。

在浏览器里生成 2FA 验证码安全吗?

这完全取决于计算在哪里完成。有些在线 2FA 生成器会把你的密钥传到自己的服务器上算完再把验证码传回来——也就是说,保护你账号的那串密钥,站方看得一清二楚。本页面不是这么做的。

你的验证码是在浏览器本地用 Web Crypto API 算出来的,十秒钟就能自己验证:打开浏览器开发者工具的“网络”面板,看看有没有任何请求发出去;或者干脆在页面加载完之后断网。生成器照样能用,因为根本没有需要发送的东西。不过对于高价值账号——银行、常用邮箱、加密钱包——硬件密钥或你自己设备上的应用仍然更稳妥,安全说明页里写清了什么场景该选哪一种。

纯本地运行 无需安装 符合 RFC 6238

隐私说明,以及如何自己验证

本工具使用浏览器内置的 Web Crypto API 生成 TOTP 验证码。这意味着:

  • 不与服务器通信: 页面加载完成后不会发出任何网络请求。你可以在浏览器开发者工具的“网络”面板中自行确认。
  • 不存储任何数据: 密钥仅在标签页打开期间保存在浏览器内存中,关闭标签页即被清除。不使用 Cookie、localStorage 或任何数据库。
  • 不做任何追踪: 没有统计脚本,没有第三方资源,也没有浏览器指纹识别。页面不会向任何地方回传数据。
  • 公开标准: 验证码算法遵循 RFC 6238(TOTP)与 RFC 4226(HOTP),与 Google Authenticator 及各大验证器应用采用的标准完全相同。

如果想进一步确认,可以在页面加载后断开网络连接 —— 工具依然可以正常离线使用。

想看完整的威胁模型,包括什么情况不该使用本工具?请阅读安全性说明页(英文)。

2FA 验证码生成器常见问题