authenticator 中文文档 下载 App

手机时间不准为什么影响出码

出码依赖「双方看同一个钟」

验证码的计算输入有两样:密钥和当前时间(精确的机制见验证码是怎么算出来的)。手机按自己的钟算出码,平台按服务器的钟校验——两个钟偏差超过允许窗口(通常前后各一个 30 秒窗口),码就永远对不上。

这就是为什么:出码不需要网络,但需要时间准确。飞行模式能出码,钟错了照样白搭。

v7.0 之后:应用内没有时间校正了

老版本应用设置里有「时间校正」功能,v7.0 起移除——应用完全采用操作系统的时间设置(版本背景见版本沿革)。所以今天遇到码不对,检查路径在系统设置里:

  1. 「设置 → 日期和时间」;
  2. 打开「自动确定日期和时间」与「自动确定时区」(各厂商叫法略有差异);
  3. 关闭任何手动设置过的时间/时区;
  4. 重启验证器再试。

三个高频误区

一、「我的时间看着挺准」。 人眼看不出来几十秒的偏差,而几十秒就够翻车。开着自动同步的手机没有这个问题——出问题的多半是手动改过时间、或自动同步被关掉的手机。

二、「时区对时间就准」。 时区正确不等于时刻正确:自动时区 + 手动时间,照样可能差几十秒。两项都要「自动」。

三、「联网就会校时」。 系统的自动时间依赖网络时间同步机制,绝大多数手机联网即自动校准;长期断网、或个别省电策略冻结了校时服务的设备,钟会慢慢漂移。重开后给系统几秒钟对表。

排查顺序的定位

时间问题排在码被判错的第一位不是偶然:它命中率最高、修复最快、且误伤面最大(新绑的码、用了半年的码一起失效)。改完系统时间还不对的,回到那一页往下走第二至第五条。