2FA 验证码生成器(在线 TOTP)

把密钥粘贴进来,直接在浏览器里算出 6 位动态验证码,支持推特 / X、Instagram、Facebook、Google、Telegram 等所有基于 TOTP 的两步验证。计算在你自己电脑上完成,密钥不经过服务器、不写浏览器存储,关掉页面即清空。

2FA 密钥 / otpauth 链接 空格与连字符会自动忽略,不区分大小写
等待输入密钥
------
剩余 -- 秒
🔒 本页没有任何网络请求:密钥只在你当前浏览器里参与计算,服务器收不到、也不记录;刷新或关闭页面后自动清空。

三步就能出验证码

  1. 在平台开启两步验证时,页面会给你一串 Base32 密钥(形如 JBSWY3DPEHPK3PXP),或一个 otpauth:// 开头的链接——两者都可以直接粘贴到这里。
  2. 点「开始生成验证码」,页面每 30 秒自动刷新一次;需要填的时候看一眼「剩余秒数」,别在最后一秒复制。
  3. 点验证码或「复制验证码」,粘回平台的验证码输入框即可。

如果平台给你的是二维码图片而不是密钥,先在平台的「无法扫描二维码」/「手动输入」入口里找到那串密钥,再粘到这里。

常用平台的两步验证入口

平台开启位置默认参数
推特 / X设置 → 安全和账号访问 → 安全 → 双重认证 → 验证器应用SHA-1 / 6 位 / 30 秒
Instagram设置 → 安全 → 双重验证 → 验证应用SHA-1 / 6 位 / 30 秒
Facebook设置 → 安全和登录 → 使用双重验证 → 验证应用SHA-1 / 6 位 / 30 秒
Googlemyaccount.google.com → 安全性 → 两步验证 → 验证器SHA-1 / 6 位 / 30 秒
Telegram设置 → 隐私和安全 → 两步验证 → 添加密码后绑定验证器SHA-1 / 6 位 / 30 秒

这五家默认都是 SHA-1 / 6 位 / 30 秒,所以一般不需要动「高级选项」;只有你明确知道密钥是按 SHA-256 或 8 位生成的,才去改。

验证码不对?先查这 4 条

  • 密钥粘错了:密钥里的空格、连字符本页会自动清理,但字母 O 与数字 0、字母 I 与数字 1 不要弄混。
  • 电脑时间不准:TOTP 是按当前时间算的,系统时间差超过 30 秒就会一直算错。先把手机/电脑的「自动设置时间」打开。
  • 参数不对:极少数站点用 8 位或 60 秒周期,去「高级选项」里改一下再试。
  • 复制慢了一拍:验证码 30 秒一换,看到「剩余」少于 5 秒时,等下一次刷新完再复制。

常见问题

密钥会上传到你们服务器吗?

不会。密钥只在你的浏览器里参与计算(WebCrypto),生成过程不发起任何网络请求,也不写入 cookie 或 localStorage,关掉页面即清空。你可以在浏览器开发者工具的「网络」面板里自己确认。

和苹果 ID 的「双重认证」是一回事吗?

不是。苹果 ID 的双重认证走的是「受信任设备弹窗 + 短信」,不支持标准 TOTP 密钥,所以本页生成不了苹果的验证码。苹果账号请看苹果 ID 开启与关闭双重认证教程。

为什么不用手机验证器 App?

App 更稳妥,适合长期使用。本页适合「临时在一个不方便装 App 的设备上要一串码」的场景,比如在电脑上登录刚买的账号、或者公司电脑装不了 App。长期使用建议还是把这串密钥加进系统验证器。

平台只给二维码,怎么办?

在开启两步验证的页面找「无法扫描二维码 / 手动输入密钥 / Can't scan?」这类链接,点开会显示那串 Base32 密钥,复制过来即可。

可以保存多个账号的密钥吗?

本页刻意不做保存:密钥一旦落到浏览器存储里,共用电脑或备份同步都可能泄漏。要管理多个账号,请用手机自带的验证器或 1Password、Bitwarden 这类带加密的密码管理器。

安全提醒:本工具只用于你自己持有的账号密钥。任何人向你索要「2FA 密钥」或让你代为生成验证码,都等同于把账号交出去;交易中的密钥请只保存在你自己的设备上。