2FA 验证码生成器

生成 TOTP 双因素认证码。离线可用,所有计算在浏览器内完成。

或扫描 2FA 设置二维码

🔐

你的密钥不会离开浏览器。所有 TOTP 计算均使用 Web Crypto API 本地完成。

TOTP 工作原理

TOTP(基于时间的一次性密码)由 RFC 6238 定义。它使用共享密钥和当前时间每 30 秒生成一个新的 6-8 位验证码。你的设备和登录服务持有相同的密钥,各自独立计算得出相同的验证码。

算法步骤:(1) 将 Base32 密钥解码为原始字节。(2) 计算当前 30 秒时间窗口计数器。(3) 以密钥和计数器进行 HMAC-SHA1 运算。(4) 通过动态截取从 HMAC 结果中提取 6 位验证码。

以上所有计算均在浏览器内使用 Web Crypto API 完成。本工具完全在客户端运行——你的密钥不会被发送到任何服务器,也不会被存储。

常见问题

在这里输入 2FA 密钥安全吗? +

安全。所有计算在浏览器本地使用 Web Crypto API 完成。你的密钥不会被发送到任何服务器、不会被存储、不会离开你的设备。你可以断网验证——页面加载后工具可以离线运行。

为什么显示上一个和下一个验证码? +

如果你的设备时钟与服务器略有偏差,当前验证码可能不匹配。显示前后各一个 30 秒窗口的验证码可以帮助判断是否存在时钟漂移。许多身份验证器 App 内部也使用相同的方法(接受相邻时间窗口的验证码)。

支持哪些算法? +

目前支持基于 HMAC-SHA1 的 TOTP,这是 Google、GitHub、Microsoft 等大多数服务使用的最常见算法。可配置位数(6-8 位)和周期(30 或 60 秒)。

能用这个代替 Google Authenticator 吗? +

本工具可以为任何提供标准 TOTP 密钥的服务生成与 Google Authenticator 相同的验证码。但它不会存储你的密钥——每次需要重新输入。日常使用建议使用专用身份验证器 App。

如果密钥泄露了怎么办? +

如果怀疑密钥泄露,立即前往对应服务的安全设置中关闭 2FA,重新开启以生成新密钥。旧密钥将失效。切勿分享 2FA 密钥或将其存储在未加密文件中。