2F
2fa.pub
打开在线解析工具 →

Google Authenticator 导出码解析:从 otpauth-migration 提取密钥的完整指南

更新于 2026-11 · 阅读约 6 分钟

换手机、做备份,或者想把验证器从 Google Authenticator 迁移到 Aegis、2FAS 这类更灵活的应用时,Google 提供的「导出账户」功能会生成一个二维码。这个二维码里装着你所有账户的完整密钥——但它是 Google 私有的 otpauth-migration:// protobuf 格式,普通扫码工具扫出来的只是一串无法直接使用的链接。

这篇指南讲清楚三件事:怎么正确导出、导出码里到底是什么结构、以及如何用 2fa.pub 的在线解析工具在不泄露密钥的前提下把它变成可用的 Base32 密钥。

一、在 Google Authenticator 中导出账户

  1. 打开 Google Authenticator → 右上角三个点 → 设置(旧版本为「转移账户」)
  2. 选择「导出账户」
  3. 勾选要导出的账户(可多选)→ 下一步
  4. App 生成一个二维码——这就是导出码,包含所选账户的全部密钥

注意:iOS 与 Android 的入口略有差异,但生成的导出格式完全相同。部分银行与企业 SSO 账户被服务商禁用导出,不会出现在导出码里。

二、导出码里到底是什么?

用任意扫码器扫这个二维码,得到的文本形如:

otpauth-migration://offline?data=CiUKIEkR4IknrfoK...(Base64URL 编码)

data 参数是一段 Base64URL 编码的 protobuf 消息,解码后每个账户条目(OtpParameters)包含六个字段:

字段号含义示例
1secret(密钥原始字节)二进制 16-20 字节
2name(账户名)[email protected]
3issuer(发行方)GitHub
4algorithm(算法枚举)1 = SHA1,2 = SHA256,3 = SHA512
5digits(位数枚举)1 = 6 位,2 = 8 位
6type(类型枚举)2 = TOTP,1 = HOTP

把 secret 字节做标准 Base32 编码(RFC 4648,字母表 A-Z2-7),就是我们在其他验证器里熟悉的密钥形式,例如 JBSWY3DPEHPK3PXP。

三、用 2fa.pub 在线提取(本地计算,密钥零外发)

  1. 打开 2fa.pub 的 Google 导出码解析工具
  2. 把 otpauth-migration://offline?data=... 整串粘贴进输入框,或直接上传导出二维码截图(Ctrl+V 粘贴截图也行)
  3. 表格立即列出每个账户的发行方、账户名、Base32 密钥与算法参数
  4. 点「发送到主计算器」即可实时算出全部验证码,或用内置二维码生成器把密钥转回标准 otpauth:// 二维码供其他 App 扫描

整个解码过程在你的浏览器里完成——2fa.pub 是纯前端工具,没有后端接口接收密钥,页面的实时网络审计功能可以直接验证这一点。你也可以用我们生成的 2FA 二维码生成器把密钥转成手机可扫的 otpauth:// 图。

四、常见问题

导出码安全吗?导出码 = 全部密钥的明文,等同于把所有密码写在一张纸上。不要截图发群里、不要用不可信的在线工具解析。2fa.pub 的解析全部在浏览器本地进行,这也是它与其他在线解析工具的根本区别。

能导入其他验证器吗?能。拿到 Base32 密钥后,任何支持 otpauth:// 标准的验证器都可以重建条目。

Steam 呢?Steam 用自己的 Steam Guard 协议(shared_secret / maFile),不走这套导出。2fa.pub 的 Steam 计算器支持直接粘贴 maFile 计算 5 位令牌。

准备好导出码了?打开在线解析工具,粘贴即可提取密钥——全程本地计算。
立即在线解析 →
← 返回 2FA 计算器 Steam 令牌计算器 2FA 二维码生成器