KeepassDX 中文文档 下载 App

HOTP 计数器验证码 - 不是所有 2FA 都基于时间

HOTP vs TOTP

大多数网站 2FA 用的是 TOTP(时间基),但少数服务用 HOTP(计数器基,RFC 4226 标准)。

方面TOTPHOTP
基准当前时间计数器数值
刷新频率30 秒自动变每生成一次变一次
对设备时间要求严格不敏感
KeePassDX 默认算法SHA-1SHA-1

HOTP 常见于硬件令牌(YubiKey 旧版、银行 U 盾)和某些专有 2FA 系统。移动端用得比 TOTP 少,但配置方法类似。

配置步骤

  1. 编辑 KeePassDX 条目 → 添加 OTP
  2. 把类型从 "TOTP" 切换到 "HOTP"
  3. 输入参数:
  1. 保存
HOTP 配置
HOTP 参数填写

HOTP 的特殊之处

计数器需要同步

HOTP 的计数器每次生成验证码后 +1。手机上的计数器和服务器的计数器必须保持同步——如果手机生成了 5 个验证码没用到,服务器还是 0,就会验证失败。

不过 KeePassDX 和服务端通常有一个"漂移窗口"——允许计数器在 ±N 范围内匹配。如果计数器不同步了:

  1. 在 KeePassDX 里手动把计数器往前调
  2. 或者联系服务提供商重置计数器

手动触发生成

TOTP 自动每 30 秒刷新。HOTP 需要手动点击生成——每点一次,计数器 +1,生成新码。

典型使用场景

日常使用和 TOTP 相同

HOTP 在 KeePassDX 条目里的显示、剪贴板复制、Magikeyboard 填充、通知栏提醒等功能和 TOTP 完全一致。只是需要注意计数器同步问题。