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.