简体中文 · English
2FA 验证码用不了?怎么修复
如果验证器一直在出码、网站却老说不对,原因几乎都是同一个:你的设备时间有点偏。TOTP 验证码是按当前时间算出来的,哪怕差 30 秒,每个码都会失效。下面教你修好——通常一分钟内搞定。
头号原因:时间没同步
TOTP(谷歌身份验证器、Authy、2FAA 背后的标准)把你的密钥和当前时间按 30 秒一档组合,服务端也做同样的运算。只要手机时钟和真实时间稍有偏差,验证码就对不上——即便 App 看起来工作得好好的。把时间修对,验证码就对了。
在你的设备上把时间修对
| 设备 | 步骤 |
|---|---|
| 谷歌身份验证器(Android) | App → 菜单(⋮)→ 设置 → 验证码的时间校正 → 立即同步。只校准 App,不改手机时钟。 |
| Android(系统) | 设置 → 系统 → 日期和时间 → 打开「自动设置时间」。 |
| iPhone / iPad | 设置 → 通用 → 日期与时间 → 打开「自动设置」。 |
| Windows | 设置 → 时间和语言 → 日期和时间 →「立即同步」。 |
| Mac | 系统设置 → 通用 → 日期与时间 →「自动设置日期与时间」。 |
验证码被拒绝的其他原因
| 原因 | 解决 |
|---|---|
| 输入途中过期 | 你打字时码变了。等下一个,快点输。 |
| 选错账号 | 你有好几个密钥,复制了错误那个的码。对一下发行方/标签。 |
| 有空格或少一位 | 6 位数字全输,不要空格。 |
| 其实是备用码 | 备用码要填到「备用码」框,不是验证器那一栏。 |
| 8 位码或非 30 秒周期 | 少见,但有的设置不一样。核对当初的 2FA 设置。 |
| 重复使用的码 | 很多服务拒绝已用过的码。等下一个。 |
| 服务端时间/故障 | 偶尔是服务那边的问题。过几分钟再试。 |
30 秒自查清单
- 把设备时间设成自动(Android 上再跑一次谷歌身份验证器的「时间校正」)。
- 确认你看的是正确账号的码。
- 6 位数字全输、不带空格,并在倒计时结束前提交。
- 还是不行,就用 2FAA 出码——它用浏览器的网络同步时间,从根上避开设备时间漂移。
永远用对时间的验证码
2FAA 在浏览器里用准确的网络时间生成 TOTP 验证码,让时间漂移这件事不用再操心。免费、本地运行、无需安装。
常见问题
为什么验证器提示验证码无效?
最常见的原因是设备时间稍有偏差。TOTP 验证码按 30 秒一档、用当前时间算出来,所以哪怕只差一点,每个码都会对不上——即使 App 看起来一切正常。把时间设成自动,几乎都能解决。
谷歌身份验证器怎么校时?
打开谷歌身份验证器,点菜单(⋮)→ 设置 → 验证码的时间校正 → 立即同步。这只会重新校准 App 内部的时间,不改你手机的系统时间。其他 App 把设备日期和时间设成自动即可。
2FA 验证码会过期吗?
会。标准 TOTP 验证码每 30 秒有效,然后换成新的。如果你输入时码刚好变了,输进去的可能已经过期——等下一个码、快点提交。大多数服务也会在几秒内接受上一个码,正是为了应对这种情况。
同一个验证码能用两次吗?
通常不能。为防重放攻击,很多服务会拒绝已经用过的码,哪怕它还在 30 秒有效期内。登录失败要重试时,等下一个码,别再输同一个。
时间没问题还是失败,怎么办?
确认你看的是正确账号的码、6 位数字都输了且没空格、也没把备用码输进验证器输入框。少数账号用 8 位码或非标准周期,若是这样请核对当初的设置。还不行,可能是密钥不对——重新为该账号绑定 2FA。