TOTP动态口令生成器 - 双因素认证码在线生成工具
TOTP动态口令生成器是基于时间的一次性密码(Time-based One-Time Password)在线生成工具,与 Google Authenticator、Microsoft Authenticator 等应用完全兼容。它根据共享密钥和当前时间,每 30 秒生成一个 6 位验证码,由 RFC 6238 标准定义,确保不同设备使用相同密钥时生成相同的验证码。
下面详细介绍 TOTP 的工作原理、使用方法以及常见问题,帮助你更好地理解和使用双因素认证。
什么是 TOTP 双因素认证
TOTP 是双因素认证(2FA)的核心技术之一。传统的账号密码认证只有一个因素(你知道什么),而双因素认证增加了第二个因素(你拥有什么)。TOTP 就属于"你拥有什么"这个因素 -- 它需要一个只有你和服务器共享的密钥来生成验证码。
TOTP 的工作流程是:服务器和客户端共享一个密钥,双方根据当前时间戳和密钥,使用相同的 HMAC-SHA1 算法计算出同一个 6 位数字验证码。由于时间在不断推移,验证码每 30 秒就会变化一次,即使验证码被截获,30 秒后也会失效,安全性远高于静态密码。
核心功能
标准算法
基于 RFC 6238 标准,与主流认证器兼容
实时生成
每 30 秒自动刷新验证码并显示倒计时
本地存储
密钥保存在浏览器本地,无需重复输入
多账户支持
支持添加多个服务的 TOTP 密钥
一键复制
验证码一键复制到剪贴板
扫码导入
支持扫描二维码导入密钥
使用教程
- 输入服务提供的 TOTP 密钥(通常在开启 2FA 时显示的 Base32 字符串)。
- 工具会自动生成当前 30 秒周期的 6 位验证码,并显示倒计时。
- 验证码每 30 秒自动刷新,在过期前输入到目标服务即可。
- 密钥保存在浏览器本地,下次打开无需重新输入。请妥善保管密钥,不要泄露给他人。
适用场景
- 2FA 备份 - 在电脑上查看验证码替代手机
- 开发调试 - 测试 TOTP 相关功能的正确性
- 多设备使用 - 在电脑和手机上同时查看验证码
- 密钥管理 - 集中管理多个服务的 TOTP 密钥
TOTP 算法原理
TOTP 算法的核心步骤如下:首先将当前 Unix 时间戳除以时间步长(通常为 30 秒)得到一个计数器值 T;然后使用 HMAC-SHA1 算法,以共享密钥为密钥、T 为消息,计算出一个 20 字节的哈希值;最后从哈希值中动态截取 4 个字节,取模 10 的 6 次方,得到 6 位数字验证码。
由于 TOTP 依赖精确的时间同步,如果客户端和服务器的时间偏差超过 30 秒,生成的验证码就会不一致。因此使用 TOTP 工具时,请确保设备时间已自动同步。
常见问题
和 Google Authenticator 结果一样吗?
是的,基于相同的 TOTP 算法(RFC 6238),使用相同密钥时生成的验证码完全一致。本工具与 Google Authenticator、Microsoft Authenticator 等主流认证器兼容。
密钥安全吗?
密钥保存在浏览器本地存储中,不会上传到服务器。但请注意不要在公共电脑上保存密钥,使用完毕后建议清除本地数据。
验证码不准确怎么办?
检查系统时间是否准确,TOTP 验证码依赖精确的时间同步。如果时间偏差超过 30 秒,验证码将无法匹配。
支持 HOTP 吗?
本工具目前仅支持 TOTP(基于时间的算法),不支持 HOTP(基于计数器的算法)。大多数在线服务使用的是 TOTP。
可以同时添加多个账户吗?
可以,工具支持添加多个服务的 TOTP 密钥,每个账户独立显示验证码和倒计时。
换手机后密钥还在吗?
密钥保存在浏览器本地存储中,更换手机或清除浏览器数据后密钥会丢失。建议在开启 2FA 时妥善备份密钥。