跳到正文
Novaz Authenticator获取

身份验证器验证码无效?iPhone 上的 6 个解决方法

作者:Novaz 团队 · 更新于 2026年10月29日
Novaz 操作步骤已在 1.0.5 版本中核实

本文译自英文指南。在服务的网站上,按钮和菜单的中文名称可能略有不同。

本页内容
  1. 1. iPhone 的时钟不准
  2. 2. 你用的是另一个账号的验证码
  3. 3. 2FA 重新设置过,旧密钥已失效
  4. 4. 输入时验证码过期了
  5. 5. 网站使用了非标准设置
  6. 6. 网站使用的验证码类型 Novaz 无法生成
  7. 还是无法登录?

身份验证器 App 生成的是基于时间的一次性密码(TOTP)。每个验证码都由两样东西算出:你和网站共享的设置密钥,以及当前时间。只要其中一样与网站预期的不一致,验证码就会被判为无效,哪怕它看起来毫无问题。下面的方法适用于任何身份验证器 App。Authenticator App - Novaz 有不同之处时,我们会特别说明。

1. iPhone 的时钟不准

大多数网站只接受当前的验证码及其前后各一个,所以时钟只要偏差 30 秒或更多,验证码就可能失效。这种情况常出现在手动设置时间后、旅行途中,或电池彻底耗尽之后。

在 iPhone 上修复: 打开 设置 › 通用 › 日期与时间,打开自动设置。

在 Novaz 中: App 会在你打开它时检查时钟,最多每 10 分钟一次。它通过向 apple.com 发送一个空请求来读取时间。如果时钟偏差 15 秒或更多,Novaz 会显示一条横幅“设备时钟偏差 n 秒”,并附有同步按钮。同步会按偏差修正 Novaz 自己生成的验证码。在“设置”的时间部分,时钟偏差会显示“已同步”,或在偏差达到 15 秒及以上时显示偏差了多少秒。

Novaz 设置,时间部分显示时钟偏差:已同步
Novaz 设置中的时钟偏差

2. 你用的是另一个账号的验证码

如果你在同一服务上有两个账号,比如个人和工作用的两个 Google 账号,复制验证码前先看看服务名称下方的账号名。在 App 里搜索你登录时用的电子邮件地址,通常就能找到对的那个。

3. 2FA 重新设置过,旧密钥已失效

每次在网站上设置身份验证器 App,网站都会生成一个新的设置密钥,并且通常不再接受旧密钥生成的验证码。如果你(或帮你的人)关闭后又开启了 2FA,或者重新开始了身份验证器设置,App 里的旧条目生成的验证码就对不上了。删除它(在 Novaz 中:打开该账号,点按移除账号),再用新的二维码重新添加账号。

从较早的 Novaz 备份文件恢复账号时也会出现同样的情况。备份文件保存的是制作当时每个账号的密钥,所以之后重新设置过的账号,恢复回来的仍是已失效的旧密钥。把它移除,再从网站重新添加。

4. 输入时验证码过期了

大多数验证码的有效期是 30 秒。如果快到期时才开始输入,验证码可能在提交前就过期了。等新的验证码出现,或者直接复制粘贴(在 Novaz 中:长按该账号,然后选择复制验证码)。

在 Novaz 中: 验证码在最后 5 秒会变成红色。复制的验证码过期后会从剪贴板中移除。

5. 网站使用了非标准设置

几乎所有网站都使用每 30 秒变化一次、用 SHA-1 生成的 6 位验证码。少数网站使用 8 位、60 秒间隔或 SHA-256。二维码会把这些设置一并带过来。手动输入的设置密钥通常不带这些设置,App 只能使用默认值,生成的验证码就对不上。

解决方法: 用二维码添加账号,而不是输入文本密钥。

在 Novaz 中: 手动输入的密钥一律使用 6 位、30 秒和 SHA-1。通过二维码添加的账号可以使用 6 到 8 位、1 到 300 秒,以及 SHA-1、SHA-256 或 SHA-512。点按某个账号,即可在详情下查看它的设置(如果打开了点按前隐藏验证码,第一次点按只会显示验证码)。想在添加之前查看二维码里包含的设置,可以使用 2FA 二维码解码器。

6. 网站使用的验证码类型 Novaz 无法生成

Steam Guard 使用自己的格式,还有少数服务使用基于计数器的验证码(HOTP),它在每次请求时变化,而不是按计时器变化。有些身份验证器 App 支持 HOTP。Novaz 只生成基于时间的验证码,所以请使用该服务自己的 App 或其他方式。

还是无法登录?

  • 使用开启 2FA 时网站给你的备用码,然后重新设置 2FA。
  • 如果没有备用码,就走网站的账号恢复流程。Google、Microsoft 和 GitHub 的具体做法,请参见装有身份验证器 App 的手机丢了?
  • 有人就这个问题联系你时,绝不要把验证码或设置密钥告诉对方。真正的客服团队不会索要这些信息。