从 Google Authenticator 解密获取 2FA 密钥进行备份和平台转移的方法

查看 22|回复 0
作者:kuingsmile   
Google Authenticator 支持设备间转移和 google 云备份,但是在软件内不能直接查看到密钥,不能很方便的进行密钥的本地保存和备份,或者是迁移到其它 2FA 平台。这里介绍一个从 Google Authenticator 解密获取到 2FA 密钥的工具和使用方法。
操作过程
导出配置文件二维码
[ol]
  • 打开 Google Authenticator ,点击左上角的三条横线按钮,选择转移账号
  • 选择导出账号
  • 勾选需要导出的账号并点击下一步
    [/ol]
    这里我们会看到一个二维码,截图保存为文件,比如ga.jpg。
    使用 decodeGoogleOTP 工具解码
    为了方便整个过程,我写了一个命令行工具 decodeGoogleOTP ,前往Github 下载页面,根据自己的平台,下载最新版本的工具。
    下载后解压,为了方便操作可以重命名一下,比如 windows 平台重命名为decodeGoogleOTP.exe,然后和ga.jpg放在一个文件夹下。
    decodeGoogleOTP 支持将结果导出为 csv 文件、json 文件、txt 文件或者二维码图片等多种格式。如果我们需要将结果导出为 json 文件,运行如下命令即可
    decodeGoogleOTP -i ga.jpg -c output.json
    输出的结果格式如下:
    [
      {
        "issuer": "",
        "name": "xx",
        "secret": "AAAAAAAAAAA",
        "type": "totp",
        "counter": 0,
        "url": "otpauth://totp/xx?secret=AAAAAAAAAAA"
      }
    ]
    其中secret字段就是 2FA 密钥,有了密钥就可以方便的转移到其它平台。而url可以用来生成二维码供其它 2FA 软件扫描导入,也可以使用 decodeGoogleOTP 直接导出二维码图片供扫描
    更详细的使用方法参考下面的说明
    $ decodeGoogleOTP -h
    decodeGoogleOTP is a command line tool to decode Google OTP QR codes. Output can be json, csv, qrcode or plain text.
    Usage:
      decodeGoogleOTP [flags]
      decodeGoogleOTP [command]
    Available Commands:
      completion  Generate the autocompletion script for the specified shell
      help        Help about any command
      version     Print current version of the application
    Flags:
      -c, --csv string      Output in CSV format and specify the output file
      -d, --debug           Enable debug mode
      -h, --help            help for decodeGoogleOTP
      -i, --input string    Input file path
      -j, --json string     Output in JSON format and specify the output file
      -p, --print-qr        Print QR code to terminal
      -q, --qrcode string   Output in QR code image format and specify the output directory
      -s, --silent          Enable silent mode
      -t, --text string     Output url list in plain text format and specify the output file
      -u, --url string      Output in URL format and specify the output file
      -v, --version         Print version information
    Use "decodeGoogleOTP [command] --help" for more information about a command.
  • 您需要登录后才可以回帖 登录 | 立即注册

    返回顶部