⭐ 觉得好用?收藏备用,下次直接打开 ✨ 开通会员去广告 · 更多权益即将开放 ☕ 支持作者
🔒
二维码只在本机浏览器内解析,图片不上传、不联网、不留存,页面一刷新就全部消失(结果不写入本地存储)。 导出码里是你全部账号的长期密钥,请不要在公共或他人的设备上操作,用完记得关掉页面。
📷
拖入 / 点击选择二维码截图
支持 Ctrl + V 粘贴截图,可一次选多张
账号多时 Authenticator 会拆成好几张码,全部拖进来才是完整的
已经有 otpauth-migration:// 链接?直接粘贴
还没有导入任何二维码
在 Authenticator 里点「转移账号 → 导出账号」,截图后拖到上面

Authenticator 迁移 用来解析 Google Authenticator「导出账号」生成的那张二维码。它的内容以 otpauth-migration:// 开头,是一段 protobuf,一张码里打包着多个账号的密钥 —— 直接扫只会得到一串乱码,官方也没有提供查看途径。把截图拖进来,就能看到里面每个账号的发行方、账号名、Base32 密钥和 otpauth 链接,并为每个账号单独生成可重新扫描的二维码。全部解析在浏览器本地完成,不上传、不联网。

二维码里装了什么

导出码不是普通的 otpauth 链接,而是一层套一层:

  1. otpauth-migration://offline?data= 后面跟一段 URL 编码的文本
  2. 解开是 Base64
  3. 再解开是一条 protobuf 消息,里面是账号数组
  4. 每个账号含密钥、账号名、发行方、算法、位数、类型、计数器

所以扫码 App 只能看到最外层那串编码,看不见里面的账号 —— 这正是它需要被解析的原因。

怎么导出这张码

打开 Google Authenticator → 右上角菜单 → 转移账号导出账号 → 勾选账号 → 显示二维码,截图即可。

账号多会拆成好几张

一张二维码能装的数据有上限,账号多时 Authenticator 会自动拆片,每张码上都标着「第几张 / 共几张」。只导入一张就只能看到一部分账号。本工具会读出总片数,缺片时在顶部醒目提示还缺第几张,不会默默显示一半就当解析完了。

迁移完请做两件事

  1. 在新设备上核对验证码 —— 挨个比对本页显示的实时码和新 App 里的是否一致,确认无误再往下走
  2. 关掉本页 —— 结果只在内存里,关掉即清空

⚠️ 安全提醒:动态码几十秒就失效,但密钥是长期凭证,拿到它等同于永久绕过你的两步验证。不要在公共电脑、他人设备上解析导出码,也不要把解析结果截图外发或明文存档。

📍使用场景

  • 换手机迁移两步验证旧手机导出一张码,这里解出全部账号,逐个扫进新手机,不用一个个联系客服重置。
  • 迁到密码管理器1Password、Bitwarden 这类只认单条 otpauth 链接,这里把打包的导出码拆成一条条链接。
  • 先看清楚里面有几个账号导出码扫出来是一串乱码,解析后能核对账号数量和发行方,确认没漏再换机。
  • 排查扫码导入失败对方 App 扫不进去时,用这里解出的位数、算法、类型逐项比对,定位是哪个参数不兼容。

常见问题

我的密钥会上传吗?

不会。二维码识别、protobuf 解析、Base32 编码、出码全部在你浏览器本地完成,页面不发任何网络请求,图片也不离开这台设备。解析结果只存在内存里,刷新页面就全部消失,不写 localStorage,也不进任何缓存。

为什么解析出来的账号比手机上少?

账号多的时候 Authenticator 会把导出码拆成好几张,一张只装一部分。本工具会读出总片数,缺片时在顶部明确提示还缺第几张 —— 把剩下的截图一并拖进来即可。如果没看到提示,说明这一次导出本来就只有一张码。

这张导出二维码在哪里生成?

打开 Google Authenticator,右上角菜单选「转移账号」→「导出账号」,勾选要迁移的账号后就会显示二维码。它和平时扫的登录二维码不是一回事,内容以 otpauth-migration:// 开头,一张里面装着多个账号。

解出来的密钥怎么用到新设备?

两条路:一是拿新手机的验证器直接扫每个账号右侧的二维码,一个接一个扫完即可;二是复制 otpauth 链接或 Base32 密钥,粘进支持手动添加的 App。迁移完要在新设备上核对一遍验证码,确认无误再删掉旧设备上的账号。页面顶部有「隐藏二维码」,投屏或有人在旁边时可以一键盖住。

支持 HOTP、8 位、SHA256 这些非默认参数吗?

支持。类型、位数、算法都会如实解析并标在账号卡上,生成的 otpauth 链接也会带上这些参数。HOTP 会一并带出计数器。只有 MD5 例外 —— 它不在 RFC 4226/6238 里,主流验证器都不支持,这类账号只给密钥、不算验证码。

它和 TOTP 验证码那个工具有什么区别?

TOTP 验证码是单条手输:你已经有一个 Base32 密钥,想算当前动态码。这一页是批量解包:从一张导出码里一次取出几十个账号。迁移场景用这一页,日常临时取一个码用那一页,两者算码的逻辑完全一致。