由于国内网络安全做的太差,经常发生被脱裤的事件,比如最近的网易邮箱(via 乌云),所以只好用1password这类密码管理软件,实现一站一密。昨晚半夜冻醒了,刷推刷到了这个:1password-leaks-your-data,整个人吓醒了=_=# 作者有点标题党,脱水版可以参见reddit的这篇文章,大意是1password的旧密码库格式叫agilechains,大体是json结构,里面只有密码是加密的,密码项的名字和URL并未加密。官方提到历史原因,早期计算能力弱,只好加密关键部位。官方推出的密码库更新指南在此:Switching to OPVault format

但是,今天折腾了大半天,发现官方指南其实并没有考虑到同步的情况。我在Win,iOS,以及Mac OS X上都有使用1password,使用dropbox进行同步。官方对新的数据格式OPVault有版本要求,所有设备的1password都需要升级。升级完成后,官方没有办法直接转换到OPVault上来。需要先导出一个纯文本1pif格式,完全不带加密,然后创建一个新库,选择新的OPVault格式,再导入刚刚的1pif文件。因为之前已经有和dropbox同步,于是1password就自作主张将dropbox目录里的老库和新库合并,结果所有密码变成两份。。。由于Dropbox的版本控制只针对文件而非目录,我还要一个一个文件的回滚,崩溃了。。

以win平台为例,正确做法应该是这样:先停掉dropbox的同步。删掉dropbox里的备份文件,如果是iOS创建的Dropbox备份,文件位置在Apps/1Password/1password.agilechains。然后创建新的密码库,格式选择OPVault,文件保存在Apps/1Password/1password.opvault。将原来的主密码库导出一个纯文本1PIF文件,然后删掉原来旧格式的主密码库,如果UI没有提供接口,就退出1password,直接搜索所有的1password.agilechains来删除。删除时,注意使用Eraser来清理数据,不然就会犯陈冠希老师的错了。在新格式的OPVault里导入原来的1PIF文件,大致检查一下数量对不对,有没有漏的,没有的话就可以用Eraser将这个最容易泄密的1PIF干掉了。一切准备停当,可以打开dropbox同步,dropbox这时候应该自动将新密码库上传上去了。

win平台处理完,其他平台可以参考同样流程。不要依赖1password自己的同步,只要记住文件到了,密码库就在手上,利用dropbox完成同步即可。先把iOS的卸载掉,再重新安装,选择我是已有密码库的用户,导入dropbox里的密码库就搞定了。Mac OS X稍微有点麻烦,直接删除app不会删除备份,而且貌似1password 5是使用了sqlite来作本地数据缓存。我们需要在Finder里,前往文件夹~/Library/Application Support/1Password 4, 删除里面的数据。最新的OS X EI Capitan取消了安全清除废纸篓,可以用命令行的srm代替。然后再打开软件,就可以像iOS一样,选择已有的密码库来操作了。

1password密码库格式更新的更多相关文章

  1. 为你的PHP程序选择合适的密码库(初稿)

    如果本文中的术语让你感到疑惑,请先参阅密码学术语及概念一文. 密码学不是魔术.加密一个应用程序并不能保证它在袭击下的安全(特别是在你没有设置验证密文的情况下).但如果出于商业需求你要确保程序的安全,传 ...

  2. passwd 修改用户密码 / chpasswd 批量更新用户密码

    passwd 修改用户密码 1.命令功能 passwd 修改用户密码及密码过期时间等信息. 2.语法格式 passwd  option  username passwd   选项   用户名 选项说明 ...

  3. Window下 Qt 编译MySQL驱动(居然用到了动态库格式转换工具)

    一步步在Window下开发Qt 今天开始安装MySQL,看了些关于MySQL安装的博文,方法大致相同,但是遇到的细节问题各有不同,或者没有讲全面,下面来说说个人的安装过程及遇到的问题. 1.首先下载, ...

  4. 使用using current logfile实现DG备库实时更新

    DG1是主库,DG2是备库:运行在最大可用模式. 实验一:未使用using current logfile参数时,备库在最大可用模式下,不能实时同步备库的更新 -此时需要等待主库进行归档---侧面证明 ...

  5. 树莓派下编译并使用miracl密码库

    参考:Linux下编译并使用miracl密码库 MIRACL用户手册:https://wenku.baidu.com/view/d542f2ed0975f46527d3e1dc.html 具体过程. ...

  6. go语言标准库 时刻更新

    Packages   Standard library Other packages Sub-repositories Community Standard library ▾ Name Synops ...

  7. Javascript触屏手势库-JTouch(更新V1.1)

    作者:痞子|时间:2013-05-21|分类目录:js,javascript,jquery教程|Tag标签: javascript.jTouch|阅读(857) 7 条评论 Javascript触屏手 ...

  8. [转]git提交代码时遇到代码库有更新以及本地有更新的解决方法

    本文转自:https://blog.csdn.net/myphp2012/article/details/80519156 在多人协作开发时,经常碰到同事把最新修改推送到远程库,你在本地也做了修改,这 ...

  9. 葡萄城报表模板库再次更新!补充医院Dashboard及房地产销售行业报表

    新增模板介绍 近日,葡萄城报表再次对报表模板库进行了更新,除了补充医院用于整体运营监控的5张 Dashboard 报表外,还增加了房地产销售场景中常见的12张报表. 5张 Dashboard 报表模板 ...

随机推荐

  1. .net单元测试初探

    写在前面 组里接手了一个在运行的票台系统,包括收银,客户体验,店内商超等子系统,要求将服务端进行云端化,以应对分店的增多和决策层对于数据的需要,而随着时间的退役和各种收费策略的改变,促销活动的展开等, ...

  2. CentOS6下基于Nginx搭建mp4/flv流媒体服务器(可随意拖动)并支持RTMP/HLS协议(含转码工具)

    1.先添加几个RPM下载源 1.1)安装RPMforge的CentOS6源     [root@AY130611215205Z ~]# wget -c http://pkgs.repoforge.or ...

  3. spark发行版笔记4Spark Streaming事务处理彻底掌握

    Spark Streaming事务处理彻底掌握 感谢DT大数据梦工厂支持提供以下内容,DT大数据梦工厂专注于Spark发行版定制. 内容概括: 1Exactly once 2 输出不重复 1 正如银行 ...

  4. typeof(self) 的作用

    block对于其变量都会形成strong reference,对于self也会形成strong reference ,而如果self本身对block也是 strong reference 的话,就会形 ...

  5. 解析txt文本,dom4j工具输出为xml文档

    有如下一个ttl.txt文本文档,每一行用空格隔开的三段分别代表主谓宾, 要将它们输出为xml格式文档 工具:dom4j,jar包导入MyEclipse的Java Project工程 代码如下: pa ...

  6. Spring(1)

    一.Spring是什么? .Spring是一个开源的框架 .是一个IOC(DI)和AOP容器的框架 .这个框架是为了简化企业级应用开发而生的,使用Spring可以使简单的JavaBean实现以前只有E ...

  7. 如何解决前端传来的时间格式与mysql表中时间格式不匹配的查询问题

    前端传过来的时间格式为“2016-07-11 11:13:10”,而数据表中对应字段`add_time`的格式为“2016-7-11”,此时sql不能直接用 "where `add_time ...

  8. JAVA 如何把request请求的参数,快速放到model对象中

    因为项目需要,需要从request中读取大量的参数. 因为本人过懒,所以写了个方法把request参数,直接放到对应的类中. 参数 String str="aa,bb,cc"; P ...

  9. 黑马程序员——C语言基础 指针

    Java培训.Android培训.iOS培训..Net培训.期待与您交流! (以下内容是对黑马苹果入学视频的个人知识点总结) (一)指针 首先指针是C语言中非常重要的数据类型,如果你说C语言中除了指针 ...

  10. http_load

    wget http://acme.com/software/http_load/http_load-12mar2006.tar.gz