关于TOTP 2FA 验证器
TOTP(Time-based One-Time Password,基于时间的一次性密码)是 RFC 6238 定义的两步验证(2FA)算法,根据共享密钥与当前时间生成 6 位数字验证码,每 30 秒变化一次。TOTP 广泛用于 Google Authenticator、Microsoft Authenticator 等两步验证 App,为账户提供密码之外的第二层安全保护。
在开发与运维中,开发者常需要生成或调试 TOTP 验证码:测试登录流程时手动生成 TOTP 验证码、备份或迁移 2FA 密钥到新设备、调试 TOTP 实现是否正确、为自动化测试生成临时验证码等。在手机上扫码添加 2FA 后无法直接查看密钥,使用本工具可以基于密钥生成验证码便于调试。
本 TOTP 验证码生成工具基于浏览器端实现,支持标准 6 位 / 8 位 TOTP、SHA-1 / SHA-256 哈希算法、30 秒 / 60 秒时间步长。所有计算在浏览器本地完成,密钥不会上传到任何服务器。
核心特性
实时验证码生成
输入密钥立即生成当前 30 秒有效期的 6 位 TOTP 验证码,并显示剩余有效时间倒计时。
多参数可调
支持自定义位数(6 / 8 位)、哈希算法(SHA-1 / SHA-256)、时间步长(30 / 60 秒),适配不同 2FA 服务要求。
Base32 密钥兼容
支持标准的 Base32 编码密钥(与 Google Authenticator 一致),自动处理空格与大小写。
双因素流程模拟
模拟 Authenticator App 行为,方便开发者测试 2FA 登录流程而无需真实手机。
本地处理零上传
所有 TOTP 计算在浏览器内完成,2FA 密钥不离开您的设备。
使用场景
调试 2FA 登录流程
开发或测试两步验证登录时,使用本工具基于密钥生成验证码,无需真实手机即可完成测试。
备份 2FA 密钥
扫码添加 2FA 后保留 Base32 密钥,使用本工具在丢失手机时仍可生成验证码。
自动化测试辅助
为自动化测试生成临时 TOTP 验证码,避免依赖真实 2FA 设备导致测试不稳定。
学习 TOTP 算法
通过观察密钥、时间、验证码的关系,理解 TOTP 算法的工作原理。
常见问题
TOTP 验证码与手机上的不一致怎么办?
通常是时间不同步导致。TOTP 基于当前时间生成验证码,请确保浏览器时间准确(与 NTP 服务器同步),时间偏差超过 30 秒会导致验证码不一致。
2FA 密钥泄露有什么风险?
密钥泄露后,攻击者可在自己的设备上生成验证码,绕过 2FA 保护。请妥善保管 2FA 密钥,不要截图分享或存储在云端公开位置。
TOTP 与 HOTP 有什么区别?
TOTP 基于时间生成验证码(每 30 秒变化),HOTP 基于计数器生成验证码(每次使用后变化)。TOTP 无需客户端与服务端同步计数器,使用更方便,是当前主流方案。
6 位与 8 位验证码有什么区别?
位数越多安全性越高,但大多数 2FA 服务(如 Google、GitHub)使用 6 位。本工具支持 6 位与 8 位两种格式,按服务要求选择。