怎样转移两步验证数据从2STP到其他Authenticator
运行环境:macOS High Sierra
2016年9月,2STP正式宣布停止服务。
不过我一直用到了2018年8月都没出什么大问题就是了,唯一有点不方便的,只有添加按钮因为布局问题,飘到了屏幕左上角。
但是考虑到iOS12正式版即将到来,这个已经下架一年多的App恐怕也会逐渐失去自己的兼容性。作为一个具有忧患意识的人,我意识到不能再这样将就下去了。
再给2STP的作者发送了一封问询是否会重新上架的邮件之后,我决定转移自己的数据了。
本次数据转移用到了开源项目evacuate_2stp,代码备份。
第一步,从2STP导出备份文件
2STP本身支持导出备份文件,导出的文件格式是加密的2STP,密码是用户本人在导出时设置的。
设定好密码,导出2STP文件,通过iCloud同步到Mac之后,第一步就完成了。
第二步,安装Python 3.6
解码2STP加密文件需要的程序是依靠Python 3.6运行的。要运行程序,我们就要先安装Python 3.6。
已经安装了brew-python3的,也可直接使用。
已经安装好的可以跳过这一步,没有3.6的,请到官网下载安装。
安装完成后,Launchpad可以看到Python的图标,我们不用点开。
第三步,安装Homebrew
已经安装好的,可以跳过这一步。
没有安装Homebrew的同学请查看《使用终端来管理你的软件》一文。
或者直接在终端中运行下面的指令安装Homebrew。
/usr/bin/ruby -e "$(curl -fsSL https://raw.githubusercontent.com/Homebrew/install/master/install)"
第四步,安装pipenv
这是最后一个依赖了,已经安装好的,可以跳过这一步。
在终端中输入下面的指令来安装pipenv。
brew install pipenv
第五步,克隆evacuate_2stp项目到本地
你可以选择在Github页面选择在桌面打开,也可以使用终端直接克隆本项目到本地。
使用终端克隆的话,输入下面的指令。
git clone https://github.com/ewdurbin/evacuate_2stp.git
克隆不成功的话,试试下载ZIP包,解压。
第六步,安装evacuate_2stp
还是刚才的终端界面,克隆完项目之后,移动到项目目录中。
cd evacuate_2stp
然后,安装它。下面这行是安装指令。
pipenv install
安装的时候可能会出现以下错误:
Warning: the environment variable LANG is not set!
这时候,只要输入以下两行指令之后,再次尝试安装即可。
export LANG=en_US.UTF-8
export LC_ALL=en_US.UTF-8
再次安装,即可安装成功。
第七步,把备份文件移动到一个便于访问的目录,改一个便于访问的名字
我建议把文件拷贝到/tmp
目录,并改名叫target.2stp
。
移动文件我就不教了,只需要知道,文件的目录现在是/tmp/target.2stp
即可。
第八步,解码文件
终于到了本番。
确认自己还在项目目录下(不确定的话,就重新cd cd evacuate_2stp
),在终端中输入以下指令。
pipenv run python decrypt_2STP.py --encrypted-2stp-export /tmp/target.2stp
程序现在就开始正常运行了。
解码成功之后,程序会把2STP文件中保存的每条数据以二维码的形式在终端窗口中显示,我建议大家把终端窗口放大到全屏,以免影响二维码正常显示。
如果保持小窗口,二维码很可能会显示成下面这个样子。
正确显示二维码后,就可以使用其他的两步验证工具Authenticator来扫码获取token了。
第九步,转移数据~
每扫完一个二维码,就在终端中按一下Enter键,显示下一个二维码,直到展示完所有二维码,程序就会自动结束运行。
数据就转移成功了。
最后你还可以删掉Python 3.6(笑),参照这篇文章即可:《Mac 删除/卸载 自己安装的python》。
注:因为是数据转移,所以就用白井黑子(Teleportion)当封面。