从Google Authenticator迁移到Flipper Authenticator:完整步骤与避坑指南

【免费下载链接】flipper-zero_authenticator Software-based TOTP/HOTP authenticator for Flipper Zero device. 【免费下载链接】flipper-zero_authenticator 项目地址: https://gitcode.com/gh_mirrors/fl/flipper-zero_authenticator

Flipper Authenticator 是运行在 Flipper Zero 上的一款软件版 TOTP/HOTP 两步验证器,功能上可以理解为"装进 Flipper Zero 里的 Google Authenticator"。这篇 Google Authenticator 迁移指南,将带你走完从 Google Authenticator 迁移到 Flipper Authenticator 的全部流程:导出账号、添加令牌、校准时区、验证结果,并把新手最容易踩的坑一次讲透,帮你安全迁移、零丢失。

为什么值得把验证码搬到 Flipper Zero 上?

Flipper Authenticator 不是简单复刻 Google Authenticator,它有几个让人眼前一亮的能力:

  • 📱 双算法支持:完整实现 TOTP(基于时间,RFC 6238)和 HOTP(基于计数器,RFC 4226)两种一次性密码算法,覆盖绝大多数网站与应用的"两步验证"。
  • ⌨️ 自动输入验证码:通过 USB 或蓝牙把 Flipper Zero 模拟成键盘,验证码直接"打"进网页登录框,无需手动抄录。
  • 🔐 本地加密存储:所有令牌密钥加密保存在设备内部,还支持 PIN 码解锁,设备丢失也不怕。
  • 🔠 大号像素字体:内置 10 种字体,超大可读的数字让你在昏暗环境也能一眼看清。

Flipper Authenticator 迁移 Google Authenticator 后的界面,Flipper Zero 屏幕显示 TOTP 验证码

迁移前必做的 3 项准备

开始迁移前,请先完成以下准备,避免中途卡壳:

  1. 更新 Flipper Zero 固件:建议使用较新的第三方固件(如 Momentum、Unleashed),并确保可以安装 .fap 外部应用。
  2. 安装 Authenticator 应用:克隆仓库后,使用 ufbt 构建并安装应用。若需要源码,可通过 git clone https://gitcode.com/gh_mirrors/fl/flipper-zero_authenticator 获取。
  3. 保留 Google Authenticator:迁移完成并验证无误前,不要删除原手机应用,这是你最后的安全网。

第一步:从 Google Authenticator 获取账号密钥

迁移的本质,是把每个账号的 Base32 密钥(Secret) 转移到新应用。获取方式有两种:

  • 官方迁移功能:新版 Google Authenticator 支持"转移账户",可逐个导出账户二维码。但注意,导出的是加密迁移包,并非直接的 Base32 密钥,通常还需要借助解码工具才能还原成可用的密钥文本。
  • 查看手动设置密钥:许多账号在最初开通两步验证时,会提供一串 Base32 字符的"手动输入密钥",如果你保存过,直接复制即可,这是最省事的方式。

拿到密钥后,请同时确认该账号的三个参数:算法(绝大多数是 SHA1)、位数(多数为 6 位)、周期(常见 30 秒)。这些参数在下一步添加令牌时需要一一对应。

第二步:添加令牌的三种方法(任选其一)

方法一:图形界面添加(新手最推荐)

在 Flipper Zero 上打开 Authenticator,进入"添加新令牌"界面,依次填写:

  • 令牌名称:例如 "GitHub"
  • 令牌密钥:粘贴第一步获取的 Base32 密钥
  • 算法 / 位数 / 周期:按账号实际参数选择(不确定就用 SHA1 / 6 位 / 30 秒)

填完确认即可。此流程的实现可参考 totp_scene_add_new_token.c

方法二:CLI 命令添加(批量迁移最灵活)

连接 CLI 后使用 totp add 命令,一条命令添加一个令牌:

totp add "GitHub" -a sha1 -d 6 -l 30
Enter token secret and confirm with [ENTER]:

命令支持的参数详见 cli_help.txt,包括:

  • -a:算法(sha1 / sha256 / sha512 / steam)
  • -d:位数(5 / 6 / 8)
  • -l:周期秒数(15~255)
  • -e:密钥编码(base32 / base64)
  • -t:令牌类型(totp / hotp)

核心实现位于 add.c,如果你对批量导入感兴趣,可以阅读这段源码了解参数解析逻辑。

方法三:直接编辑配置文件(进阶玩家)

所有令牌都保存在 /ext/apps_data/totp/totp.conf 配置文件中。你可以用文本形式写入未加密的 TokenSecret,应用首次读取时会自动加密。配置格式、可用键值(TokenAlgo、TokenDigits、TokenDuration 等)的完整说明见 conf-file_description.md

⚠️ 手动编辑有风险,一旦写错可能导致文件损坏,新手建议优先使用方法一和方法二。

第三步:校准时区(最容易被忽略的坑!)

这是迁移中最容易翻车的一步。Flipper Zero 的系统 API 无法直接读取时区偏移,因此 TOTP 码的生成依赖你手动配置的时区。如果你的时区没有设置或设置错误,生成的验证码会与服务器不一致,导致登录永远失败。

设置方法:在 CLI 中执行

totp timezone 8

注意规则:正值不加正号(如 8),负值必须带负号(如 -5)。请根据你所在地区的 UTC 偏移填写,例如北京时间填写 8

第四步:验证迁移是否成功

添加完令牌并校准时区后,别急着庆祝,请按以下顺序验证:

  1. 在 Flipper Authenticator 中查看令牌,确认数字与 Google Authenticator 当前显示的验证码一致(可在同一分钟内对比)。
  2. 用 Flipper 生成的验证码实际登录一次网站或应用,确认能通过。
  3. 逐个账号重复验证,全部通过后再考虑清理 Google Authenticator。

常见坑位与避坑清单

坑位 表现 解决办法
⏰ 时区未设置 验证码永远错误 执行 totp timezone 设置正确偏移
🔑 密钥输入含空格/换行 提示密钥无效 去除首尾空格,仅保留 Base32 字符
🔢 位数选错 验证码位数不符 确认账号是 5、6 还是 8 位
🎮 Steam 账号 5 位数字、特殊算法 算法选择 steam
🧮 周期不符 验证码刷新过快/过慢 按账号实际周期设置 -l
🔒 备份缺失 设备故障后全部丢失 定期用 totp export 导出备份

关于备份:CLI 提供了 totp export 命令,可将全部令牌以 otpauth:// URI 格式导出(含明文密钥)。该命令会弹出设备端确认对话框,请妥善保管导出内容,实现在 export.c

安全建议:让迁移后的账户更安心

迁移完成后,建议立即做好以下安全加固:

  • 设置 PIN 码:执行 totp pin set,为应用加一把锁,防止他人直接查看验证码。
  • 了解加密机制:应用的加密子系统基于 wolfSSL 实现(见 crypto_facade.h),密钥存储在设备密钥槽中,配置文件中的 BaseIV 一旦丢失将无法解密任何令牌,切勿手动改动 CryptoVersionBaseIV 等内部字段。
  • 定期导出备份:将导出的 URI 列表加密保存在安全位置,作为灾难恢复手段。

总结

从 Google Authenticator 迁移到 Flipper Authenticator 并不复杂:导出密钥 → 添加令牌 → 校准时区 → 验证登录,四步即可完成。真正容易出问题的,是时区设置账号参数匹配这两个细节。只要按本文步骤操作,并把 Google Authenticator 保留到全部验证通过,你就能安心享受"硬件级"两步验证带来的安全与便利了。🎉

Flipper Authenticator 项目横幅,展示海豚吉祥物与 Flipper Zero 设备上的 TOTP 验证码

【免费下载链接】flipper-zero_authenticator Software-based TOTP/HOTP authenticator for Flipper Zero device. 【免费下载链接】flipper-zero_authenticator 项目地址: https://gitcode.com/gh_mirrors/fl/flipper-zero_authenticator

Logo

这里是“一人公司”的成长家园。我们提供从产品曝光、技术变现到法律财税的全栈内容,并连接云服务、办公空间等稀缺资源,助你专注创造,无忧运营。

更多推荐