一个输入框,一个实时验证码
粘贴密钥或整个 otpauth:// 链接,对应的验证码立即开始倒计时——无需设置,无需表单。
倒计时
隐私优先的设计。验证码通过 Web Crypto 在你的浏览器中生成。密钥以未加密的形式缓存在本设备的本地存储中——它们不会离开设备(不存在任何服务器),但任何能打开此浏览器配置文件的人都可以读取它们。
粘贴密钥,立即获得 6 位实时验证码。快速、免费、注重隐私,可替代 Google Authenticator 和 Microsoft Authenticator——专治手机丢失、损坏或没电的时刻。
无需应用。无需账户。密钥绝不离开你的设备。
// The whole tool. No servers involved.
const step = Math.floor(Date.now() / 1000 / 30);
const key = await crypto.subtle.importKey(
'raw', base32(secret), { name: 'HMAC', hash: 'SHA-1' });
const mac = new Uint8Array(
await crypto.subtle.sign('HMAC', key, u64(step)));
const o = mac[19] & 15;
const code = ((mac[o] & 0x7f) << 24 | mac[o+1] << 16
| mac[o+2] << 8 | mac[o+3]) % 1e6;
code.toString().padStart(6, '0'); // ← your 2FA code
0
个密钥存储在我们这边——根本没有可以存储的服务器
100%
的计算通过 Web Crypto 在你的设备上完成
6238
号 RFC 标准——与所有身份验证器应用兼容
工作原理
双重验证为账户加上第二把锁:一个每 30 秒更换一次、由共享密钥和当前时间共同生成的验证码 (即 TOTP 标准,RFC 6238)。本页就是第二把锁。你的浏览器运行的正是登录网站所运行的同一道算式。
因为真正重要的只有那把密钥,你完全可以把它放进加密的密码管理器,在任何地方重新生成验证码—— 笔记本、第二个浏览器配置文件、外出用的电脑,离线也行。
想了解原理?阅读通俗讲解: 什么是 2FA?TOTP 如何工作
立即试用当服务显示“双重验证 → 身份验证器应用”时,选择“无法扫码?显示设置密钥”。你会得到类似 JBSWY3DPEHPK3PXP 的 Base32 字符串,或完整的 otpauth:// 链接——两者都可以用。
把密钥或链接粘贴到生成器,拖入二维码截图,或用摄像头扫描。一切都在你的设备上解码——没有任何东西被上传。
几秒钟内就出现新验证码,与设备时钟同步。点击复制并完成登录。验证码每 30 秒自动刷新。
功能
粘贴密钥或整个 otpauth:// 链接,对应的验证码立即开始倒计时——无需设置,无需表单。
Ctrl+V 二维码截图、拖入图片文件或用摄像头扫描。三种导入方式,密钥没有泄露途径。
单独密钥用标准默认值;完整 otpauth:// 链接会遵循其携带的所有参数:6/7/8 位数字、15/30/60 秒周期、SHA-1/256/512,甚至基于计数器的 HOTP。
重新打开页面,上次的密钥已经就位。最近密钥列表让你一键切换——仅从本设备的 localStorage 恢复。
不用手机应用,不用账户,不收费。能打开浏览器,就能生成验证码。
完全断网也能运行。作为 PWA,它可以像原生应用一样安装到程序坞或主屏幕。
关于这个工具
大家来到这里都是为了同一件事:立刻拿到一个能用的登录验证码,什么也不用安装。这正是 2FA COUNTER——一个免费、基于浏览器的 2FA 验证器和验证码生成器:粘贴密钥、拖入二维码截图或用摄像头扫描,对应的实时验证码几秒内出现,每 30 秒自动刷新,和手机上的应用完全一样——只是什么都不用装。
2FA——双重身份验证——是账户上的第二把锁:在“你知道的”之外,再加上“你拥有的”。开启 2FA 后,服务会给你一个一次性共享密钥。验证器用这个密钥加上当前时间算出 6 位验证码—— TOTP 标准,RFC 6238——而登录网站运行完全相同的算式并比对结果。因为验证码每 30 秒轮换, 单独泄露的密码再也无法打开任何东西。想看完整的加密原理讲解?阅读文章 什么是 2FA?,然后回来生成你的第一个验证码。
每次登录需要验证码时,三步就够。第一步,在网站上开启双重验证并选择“身份验证器应用”; 扫不了二维码时,点击显示设置密钥——一串 Base32 字符或完整的 otpauth:// 链接。 第二步,把密钥或链接粘贴到页面顶部的生成器里,拖入二维码截图,或者用摄像头扫描。 第三步,复制新的验证码并完成登录。生成器会遵循 otpauth 链接携带的每个参数:6、7 或 8 位数字,15/30/60 秒周期,SHA-1、SHA-256 或 SHA-512 哈希,以及基于计数器的 HOTP。 什么都不上传,什么都不记录——验证码在你的设备上计算,你可以在浏览器的 Network 标签页里亲自验证。
大多数人来到这里,是因为手机离开了他们——卖了、摔了、进水了、被抹掉了,或者出门那天恰好没电—— 而 Google Authenticator、Authy 和 Microsoft Authenticator 只装在那部手机上。浏览器版的 2FA 工具消除了这个唯一的单点故障:密钥躺在密码管理器的保险库里,验证码可以在任何你信任的电脑上重新生成。 它还能以 PWA 方式安装,网络完全断开时生成器照样运行。
标准的 TOTP 是通用语言。在 Binance、Coinbase 或 Kraken 交易、保护 AWS、Microsoft 或 Google 账户、守住 Steam、Discord、X 或邮箱——只要服务提供“使用身份验证器应用”选项, 讲的都是同一种协议,一个工具全部覆盖。验证码被拒绝时,原因几乎总是设备时钟而不是工具。 我们还准备了 分步获取 2FA 验证码的指南和按服务划分的 开启 2FA 指南。
没有可以接收密钥的服务器,没有账户,没有付费版,没有遥测。每个验证码都用 Web Crypto API 在本地计算;上次的密钥和最近密钥列表只保存在你自己的浏览器存储里,点一下“全部清除”即可彻底清除。 每把密钥的原始副本请始终保留在加密的密码管理器里;对任何催促你提供新验证码的要求保持警惕—— 那是诈骗的红旗。
生成器就在页面顶部。粘贴密钥,看实时验证码倒计时——免费、私密、可离线,永远如此。
常见问题
还有疑问?这个工具做的每件事都在你浏览器的 DevTools Network 标签页里看得见:零请求携带你的密钥。
在要保护的服务中开启双重验证,并选择“身份验证器应用”选项。如果显示二维码,请寻找“无法扫码?”链接以显示设置密钥(Base32 字符串或 otpauth:// 链接)。把密钥粘贴到上方生成器,2FA 验证码立即出现,并每 30 秒自动刷新。
四个步骤,约两分钟:1) 打开账户或安全设置,选择“双重验证”。2) 选择“使用身份验证器应用”(如果还有更好的选项,就别选短信)。3) 用验证器扫描二维码——或者改为显示并保存设置密钥。4) 输入当前验证码完成设置,然后下载或打印备用代码。我们还提供了 Google、GitHub、Discord、Binance 等服务的分步指南。
在密码之后,服务会要求第二重身份证明。采用标准 TOTP 方法(RFC 6238)时,你的验证器用“共享密钥+当前时间”算出 6 位验证码,登录服务器独立完成同样的计算并比对结果。验证码每 30 秒重新生成,过期即作废——就算密码泄露,别人也无法凭它进入你的账户。
它保护任何别人想登进去的东西:邮箱和云服务(Google、Microsoft、Apple)、银行与证券账户、加密货币交易所(Binance、Coinbase、Kraken)、开发者平台(GitHub、AWS)、游戏(Steam、Discord、Twitch)、社交媒体(X、Instagram)。企业也用它保护 VPN、邮箱和管理后台。只要网站提供“身份验证器应用”选项,那就是 2FA 的通道。
不是——没有任何安全措施能到 100%,诚实的指南都会这么说。2FA 能挡住“密码已被盗”的攻击,但在 30 秒有效期内把新验证码输进假网站,照样会被钓鱼;已经潜伏在你设备上的恶意软件也能劫持登录会话;短信验证码还可能遭遇 SIM 卡劫持。即便如此,开启 2FA 的账户仍比不开启的难攻破得多。
没有法律强制所有人使用,但平台在陆续强制:GitHub 自 2023 年起要求代码贡献者开启 2FA,银行和交易所大多默认开启,雇主也常要求工作账户开启。其余场景它是可选项,却强烈建议使用。无论如何,请把你最重要的账号——邮箱——当作必须开启 2FA 来对待:控制了你邮箱的人,可以重置其他一切。
因为密码总以同样的方式失守。数十亿真实密码已随数据泄露流出,攻击者昼夜不停地拿它们去试其他网站(撞库攻击)。微软的数据显示,2FA 能拦截超过 99.9% 的自动化账户接管攻击——它是花费最小、却能在真实威胁发生时保护你的邮箱、银行、游戏和加密资产的升级。
完全取决于第二重因素是什么。短信验证码最弱——SIM 卡劫持能让攻击者收到你的验证码。TOTP 验证码(那种 30 秒一换的)在计算上很稳固:不传输任何数据、离线攻击者无法推导、几秒内即过期。硬件安全密钥和通行密钥(passkey)最强——它们能防钓鱼,并与真实域名绑定。
因为“只用密码”的时代崩塌了。大规模数据泄露暴露了数十亿凭据,自动化的撞库攻击让盗号近乎零成本,平台也厌倦了为善后买单。监管随之加码——美国标准中 NIST 已弃用短信认证,欧盟的 PSD2 要求强客户认证。几个巨头立起规矩后,其他服务纷纷跟进。
不需要。这是基于浏览器的 2FA 工具:在任何装有现代浏览器的电脑、笔记本或平板上都能运行,安装后即使没有网络也能用。手机丢失、卖出、损坏或没电时,它可以替代手机应用。
安全。所有计算都通过 Web Crypto API 在你的浏览器里完成。你的密钥不会发送到任何服务器,任何服务器也看不到它。页面加载后即使完全断网,生成器依然照常工作。
完全可以。把 2FA COUNTER 安装为应用(“添加到主屏幕 / 安装”),它就能像原生验证器一样全程离线运行。验证码由“密钥+设备时钟”算出——完全不需要网络。
几乎都是时钟偏差。TOTP 验证码基于时间,设备时钟哪怕偏差半分钟,验证码就会失效。请把系统时间设置为自动同步(如 Windows“立即同步”、macOS“自动设置日期与时间”)后重试。生成器按设备上报的时间计算,无法替你修正时钟。
它们是手机应用;这是一个浏览器验证器。它采用完全相同的 RFC 6238 TOTP 算法,兼容所有接受标准身份验证器应用的服务——但你永远不会因为手机摔了、卖掉或没电而失去生成验证码的渠道。
只保存在你自己的浏览器里。最近一次输入的密钥和“最近密钥”列表(最多 8 条)存储在本设备的 localStorage,刷新页面后仍在,也绝不上传服务器。密钥以纯文本保存:能打开这个浏览器配置文件的人都能读到,请像对待密码管理器金库一样对待它。一键“全部清除”即可全部清除;原始密钥请保存在密码管理器里。
支持。粘贴服务提供的完整 otpauth:// 链接,它携带的每个参数都会被自动遵循:6、7 或 8 位数字,15/30/60 秒周期,SHA-1/SHA-256/SHA-512 哈希,甚至基于计数器的 HOTP。单独的 Base32 密钥则采用标准默认值(6 位、30 秒、SHA-1)——这正是绝大多数服务使用的配置。
免费——没有账户,没有付费版,无需登录。它是一个工具,不是一项服务。