安全与账号

两步验证码生成器(Google Authenticator)

输入密钥即可获得每 30 秒刷新一次的 6 位动态验证码,与 Google Authenticator 应用完全一致。

粘贴 Base32 密钥,或直接粘贴二维码里的完整 otpauth:// 字符串。小写字母和空格都可以识别。

本工具完全在浏览器中运行——数据不会离开您的设备。

什么是两步验证码生成器(Google Authenticator)?

基于时间的一次性密码(TOTP)是目前最常用的两步验证方式。启用之后,登录时除了密码还需要输入一个每 30 秒变化一次的 6 位数字,这个数字通常来自手机上的 Google Authenticator、Microsoft Authenticator 或 Authy。

本工具做的正是这些应用所做的事,只不过在浏览器里完成。粘贴服务商在开启两步验证时给您的密钥,就能立即得到当前验证码和距离下次刷新的倒计时。当您需要在电脑上快速取码、手机不在身边,或者同时管理大量账号时,这会很方便。

算法严格按照 RFC 6238 实现,通过浏览器内置的 Web Crypto API 计算 HMAC-SHA1。生成的验证码与 Google Authenticator 应用完全一致,您可以自行对照验证。

使用方法

  • 从正在开启两步验证的服务中获取密钥。显示二维码的地方通常有一行小字,类似「手动输入密钥」,点开就能看到所需的 Base32 字符串。
  • 把它粘贴到密钥输入框。如果您有完整的 otpauth://totp/... 字符串,直接整段粘贴也可以,工具会自动提取密钥和参数。
  • 6 位验证码立即显示,下方进度条显示距离刷新还有多久。
  • 点击复制,粘贴到服务商的验证框中。
  • 如果服务商使用 8 位数字或 60 秒周期(较少见),请在上方两个下拉框中调整。

常见问题

我的密钥会被发送到哪里吗?

不会。所有计算都通过 Web Crypto API 在您的浏览器中完成。本页面没有服务端处理逻辑,您输入的密钥永远不会离开本机。您可以在页面加载完成后断开网络来验证这一点——工具依然能正常生成验证码。

为什么这里的验证码和我手机上的不一样?

几乎总是时钟不同步造成的。TOTP 根据当前时间计算验证码,所以电脑时钟哪怕只差半分钟,结果也会不同。请开启系统的自动对时功能后再试。

可以用它完全代替手机上的应用吗?

技术上可以,但不建议。两步验证的安全价值来自验证码保存在与登录设备相互独立的另一台设备上。如果在同一台电脑上既输密码又生成验证码,保护强度会明显下降。请把它当作应急备用方案,而不是替代品。

有效的密钥长什么样?

它是 Base32 字符串,只包含字母 A 到 Z 和数字 2 到 7,通常为 16 位或 32 位。小写字母和空格会被自动处理。如果您的字符串里有其他标点符号,那多半是复制时多带了内容。