本文目录
什么是 TOTP?
TOTP(Time-based One-Time Password,基于时间的一次性密码)是一种广泛用于双因素身份验证的算法。它会生成一个短小的数字验证码——通常为 6 位——并且每 30 秒变化一次。该验证码由一个共享密钥和当前时间共同推导得出,因此无法被重复使用或预测。
TOTP 在 RFC 6238 中定义,几乎所有身份验证器应用都支持它,包括 Google Authenticator、Authy 和 Microsoft Authenticator。共享密钥通常以 Base32 编码字符串的形式分发,或以可扫描为二维码的 otpauth:// URI 形式分发。
我们的生成器如何工作
CheckTown 的 TOTP 生成器完全在你的浏览器中根据 Base32 密钥计算一次性密码。任何数据都不会发送到服务器——你的密钥始终保持私密。
- 粘贴 Base32 密钥或 otpauth:// URI——工具会对其进行解析并自动提取相关参数
- 查看当前的 6 位验证码,以及实时倒计时,显示距离其过期还剩多少秒
- 为非标准配置配置算法(SHA-1、SHA-256、SHA-512)、周期(30 秒或 60 秒)以及位数(6 位或 8 位)
免费试用 —— 无需注册
生成 TOTP 验证码 →何时使用 TOTP 生成器
对于构建或测试双因素验证实现的开发者,以及希望自主掌控第二重验证因素、注重安全的用户来说,独立的 TOTP 生成器都必不可少。
- 开发测试——验证你的 TOTP 实现是否能生成与标准身份验证器应用相同的验证码
- 备份恢复——如果你已保存了 Base32 密钥,无需手机或身份验证器应用即可生成验证码
- 安全审计——使用不同的算法、周期和位数测试 TOTP 端点,以验证服务端的校验逻辑
常见问题
把我的 TOTP 密钥粘贴到网页工具中安全吗?
CheckTown 的 TOTP 生成器完全在你的浏览器中使用 Web Crypto API 运行。你的密钥绝不会离开你的设备——没有网络请求、没有服务端处理,也没有任何日志记录。你可以在浏览器的开发者工具中查看网络标签来验证这一点。
什么是 otpauth:// URI?
otpauth:// URI 是一种用于共享 TOTP 参数的标准化格式。它将密钥、颁发者、账户名、算法、周期和位数编码在一个 URL 中。这与你在设置双因素验证时扫描的二维码所编码的格式相同。示例:otpauth://totp/Example:user@example.com?secret=JBSWY3DPEHPK3PXP&issuer=Example
为什么我的 TOTP 验证码和身份验证器应用不一致?
最常见的原因是时钟差异。TOTP 验证码依赖于当前时间——如果你设备的时钟哪怕偏差 30 秒,验证码也会对不上。请检查你的系统时间是否已同步。其他原因还包括使用了错误的算法(SHA-1 与 SHA-256)或周期(30 秒与 60 秒)。