AZ Tools

TOTP 代码生成器

开发

TOTP(Time-based One-Time Password,RFC 6238)是 Google 身份验证器、Authy、1Password 2FA 代码以及大多数企业多因素认证背后的标准算法。粘贴服务在设置 2FA 时提供的 Base32 密钥(与 QR 中编码相同的字符串),本工具会显示当前 6 位代码、距下一次轮换的实时倒计时圆环以及下一次的代码,便于你提前规划。位数(6/7/8)、周期(15/30/60/120 秒)和 HMAC 哈希(SHA-1、SHA-256、SHA-512)均可按服务的实际配置调整;默认值与 Google 身份验证器规范一致。所有计算通过浏览器的 Web Crypto API 完成,密钥不会经过网络。本工具用于测试自己的 2FA 配置、从自己掌控的密钥恢复代码,或构建/调试身份验证流程——不得用于绕过你不拥有的账号的认证。

使用方法

  1. 把 Base32 密钥(设置过程中显示的长字符串)粘贴到密钥框。允许包含空格和短横线。
  2. 调整位数、周期和算法以匹配你的服务。Google 身份验证器默认为 6 位 / 30 秒 / SHA-1。
  3. 读取当前代码,点击即可复制。注意倒计时圆环——临近 0 时查看“下一代码”面板,决定使用当前还是下一代码。
  4. 若代码被拒绝,先检查设备时钟是否同步——TOTP 依赖于秒级准确的 Unix 时间。

常见问题

安全吗?密钥会发送到哪里?
不会离开浏览器。Base32 解码和 HMAC-SHA 计算都通过 Web Crypto API 在设备上完成,你可以在网络面板核实。但 TOTP 密钥等同于凭据,请像对待密码一样:只粘贴到可信工具,绝不分享暴露密钥字符串的截图。
应当选择哪种设置?
默认(6 位、30 秒、SHA-1)与 Google 身份验证器规范一致,适用于大多数服务。一些银行和企业系统使用 8 位、60 秒或 SHA-256/512,通常会在设置说明或 otpauth:// URI 中标明。参数不匹配会默默生成错误代码。
代码被拒绝怎么办?
最常见的原因是时钟偏差。TOTP 使用设备的 Unix 时间,电脑偏移超过约 30 秒就会全部失败。请同步时钟(多数系统自动同步——检查 NTP 设置)。其他原因:位数 / 周期 / 算法不一致、密钥字符多余或缺失、密钥属于其他账号。
TOTP 与 HOTP 有何区别?
HOTP(RFC 4226)每按一次“下一个代码”计数器就 +1,需要客户端与服务器保持同步。TOTP(RFC 6238)以“当前 Unix 时间 ÷ 周期”代替计数器,代码自动轮换。现代 2FA 几乎都采用 TOTP。
能导入 QR 或 otpauth:// URI 吗?
本工具仅接受直接粘贴 Base32 密钥。若你有 otpauth:// URI,密钥即查询串中 “secret=” 之后的值。若只有 QR 图片,请先用其他解码器扫描,再把密钥粘贴到这里。

相关工具