2FA 常见问题
关于 2FA、双因素认证、TOTP、验证器 App 的常见中文问答。如果这里没回答到你的问题,英文 FAQ有更完整的列表。
基础概念
2FA / 双因素认证是什么?
在密码之外再加一道验证,通常是手机验证器 App 生成的 6 位动态验证码。即使密码泄露,攻击者没有验证码也进不了你的账号。
TOTP 又是什么?
TOTP(Time-based One-Time Password,基于时间的一次性密码)是 RFC 6238 标准。它把共享密钥和当前时间组合,每 30 秒生成一个 6 位验证码。谷歌身份验证器、Authy、2FAA 用的都是这套算法。
TOTP 和 HOTP 有什么区别?
TOTP 用当前时间作为变量(30 秒变一次);HOTP 用计数器作为变量(每用一次加一)。TOTP 更常见,因为不需要同步计数器。
短信验证码和验证器 App 哪个安全?
验证器 App 更安全。短信容易被 SIM 卡欺诈(SIM swap)攻破 — 攻击者骗运营商把你的号码转到他们的 SIM 卡上,就能收到你的短信。验证器 App 生成验证码不走网络,无法被中间人拦截。
「密钥」是指什么?
开启 2FA 时服务给你的那段 Base32 字符串(通常以二维码形式展示)。这段密钥是验证码计算的种子。任何人拿到密钥就能生成有效验证码 — 一定要妥善保管,不要截图发给别人。
设置和使用
怎么给我的账号开启 2FA?
在账号「安全」或「登录设置」里找「两步验证 / 2FA / 二步验证」选项,选「验证器 App」方式,扫描二维码加到验证器(比如 2FAA)里,输入当前 6 位验证码确认即可。
怎么给 GitHub 开 2FA?
GitHub → Settings → Password and authentication → Enable 2FA → Set up using an app → 扫码到验证器 → 输入当前验证码 → 下载备份码保存。
怎么给 Google 账号开两步验证?
Google 账号 → 安全性 → 两步验证 → 开始使用 → 选「验证器应用」→ 扫码 → 输入验证码 → 完成。还可以添加备用电话和备份码。
2FAA 和谷歌身份验证器有什么区别?
2FAA 在浏览器里运行,不需要装 App,密钥保存在浏览器本地。谷歌身份验证器是手机 App。两者都按标准 TOTP 算法工作,可以为同一个账号同时使用 — 它们会生成相同的验证码。
丢失访问怎么办
手机丢了 / 换手机了,2FA 怎么办?
三种途径:(1) 用最初保存的备份码登录后重新设置 2FA;(2) 如果你导出过谷歌验证器,把导出二维码导入 2FAA 即可恢复;(3) 联系服务商客服走身份认证流程。前两种都需要你提前做过准备 — 这就是为什么开 2FA 时一定要保存备份码。
备份码 / 恢复码是什么?要保存吗?
服务在你开启 2FA 时给的一组一次性密码(通常 8-10 个),每个只能用一次。它们是验证器丢失时的最后退路。务必保存到密码管理器或者打印出来收好。
谷歌身份验证器里的账号能迁出来吗?
可以。谷歌验证器 App 里 → 菜单 → 转移账号 → 导出账号 → 选要导出的 → 显示二维码。把二维码扫到 2FAA 的「从谷歌验证器导入」里,所有账号一次性迁移。
安全相关
在浏览器里用 2FA 安全吗?
安全。2FAA 的密钥保存在浏览器本地(IndexedDB / localStorage),所有验证码都在本地用 JavaScript 计算,不会走网络。你可以打开开发者工具的网络面板自行确认 — 应该看不到任何外部请求。
如果别人能用我的电脑,2FA 还有用吗?
效果会打折。如果攻击者能物理访问你已登录的设备,他可以看到验证码。建议给浏览器或者电脑本身加锁屏密码,并启用 2FAA 的浏览器本地存储加密(如果可用)。对最敏感的账号,建议用硬件密钥或单独的离线验证器。
2FA 能挡住钓鱼吗?
部分可以。验证器 App 的 TOTP 验证码可能被「钓鱼代理」类攻击(攻击者搭一个假登录页转发你的输入)骗到。Passkey 和硬件安全密钥(YubiKey)能完全挡住钓鱼,因为它们会验证真实域名。对最高安全要求的账号建议升级到 Passkey 或硬件密钥。
开始使用 2FAA
免费的网页版验证器,浏览器内即可生成 2FA 验证码。