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. 粘贴你的 Base32 2FA 密钥
从账户的两步验证设置页面复制 Base32 密钥并粘贴到这里。
2. 拿到 6 位 TOTP 验证码
6 位验证码会立即显示,并每 30 秒自动刷新一次。
3. 复制验证码并登录
点击验证码即可复制,然后粘贴到需要登录的地方。密钥始终只留在你的浏览器中。
在浏览器里生成 2FA 验证码安全吗?
这完全取决于计算在哪里完成。有些在线 2FA 生成器会把你的密钥传到自己的服务器上算完再把验证码传回来——也就是说,保护你账号的那串密钥,站方看得一清二楚。本页面不是这么做的。
你的验证码是在浏览器本地用 Web Crypto API 算出来的,十秒钟就能自己验证:打开浏览器开发者工具的“网络”面板,看看有没有任何请求发出去;或者干脆在页面加载完之后断网。生成器照样能用,因为根本没有需要发送的东西。不过对于高价值账号——银行、常用邮箱、加密钱包——硬件密钥或你自己设备上的应用仍然更稳妥,安全说明页里写清了什么场景该选哪一种。
隐私说明,以及如何自己验证
本工具使用浏览器内置的 Web Crypto API 生成 TOTP 验证码。这意味着:
- 不与服务器通信: 页面加载完成后不会发出任何网络请求。你可以在浏览器开发者工具的“网络”面板中自行确认。
- 不存储任何数据: 密钥仅在标签页打开期间保存在浏览器内存中,关闭标签页即被清除。不使用 Cookie、localStorage 或任何数据库。
- 不做任何追踪: 没有统计脚本,没有第三方资源,也没有浏览器指纹识别。页面不会向任何地方回传数据。
- 公开标准: 验证码算法遵循 RFC 6238(TOTP)与 RFC 4226(HOTP),与 Google Authenticator 及各大验证器应用采用的标准完全相同。
如果想进一步确认,可以在页面加载后断开网络连接 —— 工具依然可以正常离线使用。
想看完整的威胁模型,包括什么情况不该使用本工具?请阅读安全性说明页(英文)。
2FA 验证码生成器常见问题
2FA 验证码就是输完密码之后,平台还要你再填的那个 6 位一次性密码。大多数是 TOTP 验证码,由密钥加当前时间算出来,每 30 秒变一次。同一串密钥在任何符合标准的身份验证器里算出来的结果都一样。
如果你手上有开启两步验证时平台给的那串 Base32 密钥,直接粘到上面的输入框,验证码马上就出来,什么都不用装。
如果这个平台只会用 SMS 把验证码发到你手机上,那就没有密钥可粘,只能等短信。只有支持身份验证器应用的平台才会给你密钥。
十次里有九次是设备时间不准。TOTP 验证码是按当前时间算的,偏差超过 30 秒左右,算出来的码平台就不认。把系统日期和时间改成自动同步,然后再试一次。另一个常见原因是密钥没复制全:Base32 只用 A–Z 和 2–7,所以你要是看到 0、1、8、9,说明复制错了。
它只在设置的时候显示一次。平台弹出 QR 码时,旁边基本都有一个小字链接,写着“无法扫描?”或“手动输入密钥”——点开就能看到文字形式的 Base32 密钥。如果当时只扫了 QR 码、没把文字存下来,就再也找不回来了,只能把 2FA 关掉再重新开启,让平台重新发一串新密钥。
标准配置下是 30 秒。实际上大多数平台也认上一个验证码,所以你通常有接近一分钟的时间。如果输到一半码跳了,直接用新的那个就行,不会有任何影响。
能。让两步验证成立的不是手机,而是密钥。任何实现了 RFC 6238 的工具都能把这串密钥变成有效的验证码,这个页面做的就是这件事。把密钥本身妥善保管好,手机没带、没电或者丢了,都不会把你挡在账号外面。