Authenticator 迁移 用来解析 Google Authenticator「导出账号」生成的那张二维码。它的内容以 otpauth-migration:// 开头,是一段 protobuf,一张码里打包着多个账号的密钥 —— 直接扫只会得到一串乱码,官方也没有提供查看途径。把截图拖进来,就能看到里面每个账号的发行方、账号名、Base32 密钥和 otpauth 链接,并为每个账号单独生成可重新扫描的二维码。全部解析在浏览器本地完成,不上传、不联网。
导出码不是普通的 otpauth 链接,而是一层套一层:
otpauth-migration://offline?data= 后面跟一段 URL 编码的文本所以扫码 App 只能看到最外层那串编码,看不见里面的账号 —— 这正是它需要被解析的原因。
打开 Google Authenticator → 右上角菜单 → 转移账号 → 导出账号 → 勾选账号 → 显示二维码,截图即可。
一张二维码能装的数据有上限,账号多时 Authenticator 会自动拆片,每张码上都标着「第几张 / 共几张」。只导入一张就只能看到一部分账号。本工具会读出总片数,缺片时在顶部醒目提示还缺第几张,不会默默显示一半就当解析完了。
⚠️ 安全提醒:动态码几十秒就失效,但密钥是长期凭证,拿到它等同于永久绕过你的两步验证。不要在公共电脑、他人设备上解析导出码,也不要把解析结果截图外发或明文存档。
不会。二维码识别、protobuf 解析、Base32 编码、出码全部在你浏览器本地完成,页面不发任何网络请求,图片也不离开这台设备。解析结果只存在内存里,刷新页面就全部消失,不写 localStorage,也不进任何缓存。
账号多的时候 Authenticator 会把导出码拆成好几张,一张只装一部分。本工具会读出总片数,缺片时在顶部明确提示还缺第几张 —— 把剩下的截图一并拖进来即可。如果没看到提示,说明这一次导出本来就只有一张码。
打开 Google Authenticator,右上角菜单选「转移账号」→「导出账号」,勾选要迁移的账号后就会显示二维码。它和平时扫的登录二维码不是一回事,内容以 otpauth-migration:// 开头,一张里面装着多个账号。
两条路:一是拿新手机的验证器直接扫每个账号右侧的二维码,一个接一个扫完即可;二是复制 otpauth 链接或 Base32 密钥,粘进支持手动添加的 App。迁移完要在新设备上核对一遍验证码,确认无误再删掉旧设备上的账号。页面顶部有「隐藏二维码」,投屏或有人在旁边时可以一键盖住。
支持。类型、位数、算法都会如实解析并标在账号卡上,生成的 otpauth 链接也会带上这些参数。HOTP 会一并带出计数器。只有 MD5 例外 —— 它不在 RFC 4226/6238 里,主流验证器都不支持,这类账号只给密钥、不算验证码。
TOTP 验证码是单条手输:你已经有一个 Base32 密钥,想算当前动态码。这一页是批量解包:从一张导出码里一次取出几十个账号。迁移场景用这一页,日常临时取一个码用那一页,两者算码的逻辑完全一致。