OTP 生成器

⏱️ OTP Generator

📐 工作原理与说明
生成一次性口令(OTP)。
  • TOTP:RFC 6238 基于时间,默认 30 秒为一个步进,取 T = floor(Unix时间/步长)。
  • 算法:HOTP(K, T) 对 HMAC 结果做动态截断,取 6 位(或 8 位)数字。
  • HOTP:RFC 4226 基于计数器,每使用一次计数器加一。
  • 实践:需容忍 ±1 个时间步的时钟漂移;密钥以 Base32 形式提供给验证端。

📚 深度解析:OTP 生成器(HOTP/TOTP)

💡 常见使用场景

  • 演示基于时间的一次性口令(如 2FA)。
  • 验证 2FA 接入是否正确:用同一密钥在两侧分别生成,比对结果一致说明算法与时间同步都没问题。
TOTP
密钥 + 当前 30 秒计数 → 6 位动态码(每 30 秒变化)。

❓ 常见问题(FAQ)

为什么 30 秒失效?
TOTP 以时间窗口为计数器,过期需重新算。
验证码对不上是什么原因?
最常见是时间不同步:TOTP 基于 Unix 时间按 30 秒步长计算,客户端与服务端时钟相差超过容差窗口就会失败,应先校准 NTP。其次是密钥录入错误(Base32 大小写或空格),以及把 HOTP 当成 TOTP。服务端通常接受前后各一个窗口以容忍轻微偏差。
⚠️ 使用说明与注意事项
📖关于「OTP 生成器」 ▼

📝工具简介

Generate time-based one-time passwords (TOTP, RFC 6238) in your browser for 2FA, with no secret leaving the page.