动态验证码不匹配的排查
「输的明明是对的码,网站却提示错误」——验证器用下来最常见的坎。本篇按出现频率排序给出排查顺序,并解释每条背后的原理:时间偏差、码的时效、双机同绑、令牌类型。
相关文档
一、最常见:手机时间不准
TOTP 验证码按手机当前时间算,时间偏差一大,算出来的码自然对不上。按顺序处理:
- 系统设置里开启「自动获取网络时间 / 自动设置时区」,重新打开验证器再试;
- 手动改过系统时间的手机(跑分工具、双开时间类应用)最容易中招,恢复自动对时即可;
- 时间正常后仍失败,往下看第二条。
FreeOTP / FreeOTP+ 出码完全离线,唯一「挑环境」的就是时间——所以遇到莫名报错,先查时间准没错。
二、码本身过期了
验证码每 30 秒换一组,复制、切换应用、粘贴的几秒里可能刚好越界:
- 复制前先瞄一眼倒计时,剩两三秒就等下一组;
- 点令牌直接复制进剪贴板,比手抄快;
- 新一组出来后 20 秒内提交最稳。
三、两台手机同时绑着同一个账号
换机过渡期最容易犯:旧手机上的同一条令牌没删,两台设备各自出码,你输的是旧机那组,网站按新机的时间窗校验,自然对不上。
处理办法:确认新机出码正常后,立刻删掉旧机上的这条令牌;换机的完整顺序见验证器令牌备份与换机迁移.md。
四、HOTP 类型的令牌不走时间
极少数服务用 HOTP(基于计数器):验证码不随时间刷新,用一次走一格。网站提示不符时,可能是这一格已在别处被用掉——再生成一次、用下一组试试。区分方法:TOTP 令牌有倒计时圆环,HOTP 没有。
五、都不行:删掉重绑
以上全部正常仍然失败,说明这条令牌的密钥本身对不上了(比如二维码过期、抄错密钥):
- 用该账号的恢复码先进网站;
- 在两步验证设置里删除旧令牌、重新发起绑定;
- 重新扫码或手动添加,填码确认。
重绑的完整步骤见验证器绑定两步验证的完整流程.md。还没装验证器的,可先看 FreeOTP 开源验证器介绍站了解获取方式与功能说明。