Enpass 导出数据整理记录

他们说 Enpass 导出的数据格式非常混乱,没有办法导入到其他应用之中。

我今天就动手尝试一下,并做个记录。

尝试一:

导出的 csv,同一列的并不是同种数据,所以没有办法导入到其他应用。

尝试二:

可以导出 json 格式文件,就意味着我可以比较方便的使用 JS 进行处理。目前简单整理了一下它所记录下来的字段:

{
  UserName: 204,
  'Account Key': 1,
  Password: 204,
  URL: 208,
  '网址': 29,
  'Autofill Info': 62,
  '字段名称': 2,
  ExChange: 1,
  Pop3: 1,
  '网站': 179,
  'URL 2': 1,
  'URL 3': 1,
  Website: 3,
  '应用密码': 1,
  '恢复代码': 1,
  '双因素验证': 1,
  KP2A_URL_1: 1,
  '身份验证': 1,
  '邮箱': 1,
  '十天内免登录': 1,
  '用户名': 174,
  '电子邮箱': 170,
  '密码': 181,
  '其他详细信息': 174,
  '电话号码': 171,
  '一次性代码': 170,
  '密码保护的提问': 170,
  '密码保护的答案': 170,
  '登录': 11,
  '存取': 10,
  'MySQL 密码': 1,
  '数据库密码': 1,
  API_KEY: 1,
  port: 1,
  '教师后台密码': 1,
  '电话': 1,
  '户号': 1,
  '查询密码': 2,
  '服务密码': 1,
  Pin: 1,
  ICCID: 1,
  PUK: 1,
  '产品名称': 1,
  '版本': 1,
  '产品密钥': 1,
  '授权于': 1,
  '已注册的电邮': 1,
  '一次性费用': 1,
  '订阅费': 1,
  '订阅到期': 1,
  '下载页面': 1,
  '订单详细信息': 1,
  '发行商': 1,
  '购买日期': 1,
  '订单编号': 1,
  '零售价格': 1,
  '总额': 1,
  '用户人数': 1,
  '管理员存取': 1,
  '登录页面': 1,
  '管理员电邮': 1,
  '公司': 1,
  '支援电邮': 1,
  '服务热线': 2,
  '电信宽带账号': 1,
  '电信宽带密码': 1,
  '银行名称': 1,
  '帐户持有人': 1,
  '帐户类型': 1,
  '帐户号码': 1,
  '客户 ID': 1,
  'IFSC 代码': 1,
  '汇款路径号码': 1,
  SWIFT: 1,
  IBAN: 1,
  '网上银行': 3,
  '登录密码': 3,
  '交易密码': 3,
  '分行详细信息': 1,
  '分行名称': 1,
  '分行代码': 1,
  '分行地址': 1,
  '分行电话': 1,
  '连接卡': 1,
  '借记卡卡号': 1,
  ' 卡类型': 1,
  'PIN 码': 3,
  CVV: 1,
  '有效日期': 3,
  '取款限额': 3,
  'T-PIN': 1,
  '你在哪个城市出生': 1,
  '外婆出生地': 1,
  '父亲出生地': 1,
  miao: 1,
  '支付密码': 2,
  '持卡人': 2,
  '类型': 2,
  '号码': 2,
  CVC: 2,
  '发卡银行': 2,
  '签发于': 2,
  '有效自': 2,
  '信用额度': 2,
  '利率': 2,
  '若遗失,请拨': 2,
  '手机号': 1,
  '': 1,
  QQ: 1,
  'first name': 2,
  'last name': 2,
  '记住我': 1,
  fname: 1,
  lname: 1,
  'agree with the terms of service': 1,
  '请输入验证码': 1,
  SyncID: 1,
  firstname: 1,
  '使我保持登录状态': 1,
  name: 1,
  '验证码': 1,
  '昵称': 1,
  'full name': 1,
  'email    at this address you will be sent to complete the registration': 1,
  postnum: 1,
  cap_code_************: 1
}

后面的数字是同名字段使用到的次数,现在需要对这些字段进行归纳整理,并且排序。

尝试三:

自己写了个脚本去整理格式。

目前问题算是基本解决。

目前基本上是搞定了。

CSV 格式的导出看起来是通用性最强的,但其实是最无奈的,灵活性最低的选择。

Enpass 导出的 CSV 格式十分混乱,可以说是根本不可用的。但可以导出为 JSON 格式进行整理

Keepass 导出的 CSV 直接丢失自定义字段,只剩下非常有限的原始字段。但可以导出为 xml 格式进行整理。

整理了一个早晨之后,看了一下,还有 279 条待整理,有点想哭

这,抖M吗,反正一些自定义的数据几乎用不到,就直接无视,把网址和账号密码填了就完了。
或者那些自定义的直接笔记软件丢进去,反正一般用不到,浪费时间去设计一个数据结构,明显是浪费。
尽量不要用自定义,这个和tag一样,自由太高就不好管理,要用的话,除非经常使用,或者有较高的标准
就像用tag,如果用在一个复杂项目的说明中,多少还是可控的,用在个人资料中,几乎是无限扩展,混乱不是软件问题,使用的人自己要考虑数据结构,滥用肯定会乱。

你没有理解问题的所在啊。想或用其他密码管理器的话,就需要这边导出一个文件,然后那边导入。最通用的格式就是 CSV,说白了就是把数据弄成一个表格。

我们先不管软件如何去解决表格数据的对应。但起码一个常识,每一列都应该是相同的数据。比如第1列都是用户名,第2列都是密码。

enpass 导出来的内容完全随缘。也就是不同行之间的数据顺序并不一致。

而且哪个是用户名,哪个是密码,还需要你去猜。因为它对同种类的数据命名并不一致。现在在看我上面列出来的那些名称。有多少内容可能是代表用户名了,有多少内容可能是用来代表密码的……

你都导出JSON了,那总该有名字吧,你喜欢表格就转成表格,除非JSON里的名字也很乱

正是如此。

对于每一个字段都使用网页中这个字段的标签(label)作为名称,所以才出现了上面那么多的名称

那直接对着gui写一个ahk不就完了,还是简单呀

说得我都想换掉enpass了。。。。

之前转到Bitwarden基本无痛啊,没丢失什么东西

这个问题重点集中在导出的 csv 文件上。

如果是 json 文件对于每一个字段都有多重的描述,相对来说更容易准确地对字段类型进行定位。

当然,这在一定程度上也取决于导入方的程序兼容性。

但是不管怎么说,作为一个安全类的软件,它导出的数据(哪怕只是其中的某一个格式)混乱到无法使用,都是难以被原谅的。

我更建议先导出到 Bitwarden,Bitwarden 的导入功能是所有密码管理器中最全面的。以 Bitwarden 作为中介再导入到其他,网上对应的脚本方案也更多。

当然我更建议直接用 Bitwarden :wink:

昨天晚上我自己写脚本整理出来了,但更复杂的是对数据的进一步整理,只能手动去进行处理。比如进行分类,今天折腾了一整天

搜了下,bitwarden还支持steam和blizzard的TOTP,想换了 :joy:

自建免费。付费的话官网10美元一年不算贵。

已经在备选清单了, 这周有空了搞一搞

试着整理数据,满满的回忆