authenticator 中文文档 下载 App

6 位动态码背后的两种类型:TOTP 与 HOTP

两种标准,同一个界面

验证器应用在添加账号时支持两类动态口令标准,添加界面通常以「基于时间 / 基于计数」出现:

TOTP(基于时间)HOTP(基于计数)
换码依据当前时间 ÷ 30 秒一个逐次递增的计数器
码的有效期30 秒,过期作废用过一次才作废,可以一直不变
网络依赖无无
使用占比绝大多数平台个别平台或硬件令牌

两者的共同点是离线算码:手机和服务器各持同一把密钥,各自按同一规则计算,结果必然一致——所以全程不需要网络参与。

为什么绝大多数平台都用基于时间

时间窗口的好处是「天然过期」:你来不及输、输错平台、或者截图外泄,30 秒后这枚码就毫无价值。基于计数的码没有时间概念,一枚码可以停在那里很久,泄露后的风险窗口大得多,因此只在少数特殊场景使用。

实操上的唯一考点

手动输入密钥时,应用会让你在两种类型里二选一——选错的话,生成的码永远对不上。判断依据很简单:绝大多数平台直接选「基于时间」;只有平台帮助文档明确写明使用计数式(常见于某些企业 VPN、硬件令牌场景)才选「基于计数」。选错了不用纠结,删掉这个账号重新添加一次即可,流程见手动输入设置密钥。

时间窗口的完整数学原理,见验证码是怎么算出来的。