Import / Export Across Password Managers: Format Reality Check (1Password, Bitwarden, KeePass)

A field guide to .1pif, .json, .csv, .kdbx — what each format actually contains, what gets lost in translation, and how to migrate your vault without losing TOTP secrets, custom fields, or attachments.

Published: 2026-05-05 · 10 min read

挑密码管理器之前你应该先问的问题

你早晚要换密码管理器。公司被收购、价格变了、换设备、你爱用的 App 被弃维。挑选时最重要的问题是:"怎么把数据导出来?导出有多完整?"

这是营销页面从不提的部分。导出格式决定了你能否完整带走数据 — 还是会丢失 TOTP 密钥、密码历史、自定义字段、附件、标签,回头要靠记忆重建。

下面是对主流密码管理器实际导出能力的对比,往返一遭哪些幸存下来,以及 ByteGuard 的不同之处。

格式全景

产品导出格式是否加密是否有损?
1Password.1pif(旧版)、.1pux(zip + JSON)、.csv否(明文导出)1pux 完整;.csv 丢大部分字段
Bitwarden.json(加密或明文)、.csv可选(PBKDF2 + AES)JSON 完整;CSV 丢 TOTP / 自定义字段
KeePass.kdbx(原生)、.xml、.csv.kdbx 加密;.xml/.csv 明文.kdbx 完美往返
LastPass.csv否大量丢失:TOTP / 附件 / 安全笔记格式
Apple Keychain.csv(Safari 密码)否仅登录;无 TOTP / 笔记 / 卡片
Dashlane.csv、.json否JSON 含笔记 / IDs;CSV 仅登录
ByteGuard.json(加密)、.csvJSON: AES-256-GCM + 用户口令;CSV: 明文JSON: 0 损失;CSV: 设计上有损(含警告)
Tech Note

"明文导出"不是说传输不加密。是说文件落盘后,谁有读权限谁就能看到全部明文密码。把明文导出当核废料处理 — 一小时内用完,从磁盘 + 回收站 + 云同步全部清除。

导出真正能保留什么

密码管理器导出的肮脏秘密:格式 ≠ 内容。1Password 的 .csv 和 Bitwarden 的 .csv 看起来一样(表头行 + 数据行),但:

  • 1Password .csv 有 title, website, username, password, notes — 就这些。TOTP 没了。标签没了。自定义字段没了。
  • Bitwarden .csv 多了 folder, type, login_uri, login_totp — 所以 TOTP 在两端列名一致时能保留。
  • Apple Keychain Safari .csv 只导出网站登录 — 无笔记、无卡片、无 ID。

JSON 导出也有同样的内容缺口,只是没那么明显。Bitwarden 的 JSON schema 丰富(folders / 自定义字段 / 附件 URL);1Password 的 .1pux 是个 zip,附件嵌入文件 + 严格的 per-record schema。两者不能 1:1 互转 — 任何 importer 都得做字段映射决定丢什么。

有损字段(按影响排序)

  1. TOTP 密钥 — 灾难级。丢了,每个开 2FA 的服务都被锁出,直到重新注册。多数 CSV 不含。
  2. 密码历史 — 最近一次修改坏了某服务,或要验证旧账户时用。导出几乎不保留。
  3. 自定义字段 — 存恢复码 / 安全问题 / 许可证密钥的关键。CSV 几乎都丢;JSON 通常保留但命名非标准。
  4. 附件 — PDF / 扫描的身份证 / 截图。CSV 无法表示。JSON 有时引用但不打包(要单独下载)。
  5. 标签 / 文件夹 / 收藏 — 组织元数据。JSON 通常存活;CSV 最多把文件夹映射成扁平字符串列。
  6. 笔记格式 — Markdown / 换行 / 链接。CSV 保留文本但破坏格式。JSON 当原始字符串保留。

ByteGuard 怎么处理导入 / 导出

ByteGuard 支持从 6 个来源导入:

  • 1Password (.1pux, .1pif, .csv)
  • Bitwarden (.json 加密/明文, .csv)
  • LastPass (.csv)
  • KeePass (.kdbx, .xml)
  • Dashlane (.csv, .json)
  • Apple Keychain (.csv from Safari)

每个来源的导入管线:

ByteGuard 导入管线
源文件
→
格式探测
→
字段映射 + 去重
→
每条 AES-256-GCM

两个值得说明的设计选择:

  1. 探测优于让用户选。我们从文件 header / 结构嗅探格式,而不是问"这是从哪个 App 导出的"。少一道操作,少出错。(探测错时可手动覆盖。)
  2. 预演预览。在任何记录进库前,先展示预览:多少条目、多少与现有重复、哪些字段会丢(如果源不含 TOTP 会显式警告)。你确认后才提交。

导出端:默认加密 JSON

导出方面,ByteGuard 提供两种格式:

格式使用场景加密字段覆盖
加密备份 (.bytegx)备份、设备迁移、归档AES-256-GCM + 用户口令 + Argon2id 派生100%(每个字段、历史、标签、自定义字段)
明文 CSV迁出到只能读 CSV 的密码管理器无(含警告 + 推荐删除时间表)仅登录(TOTP / 自定义字段 / 附件丢失 — 显式警告)

加密 JSON 格式跟我们 iCloud 同步内部用的是同一个(只是密钥派生源不同 — 口令而非主密码 + Secret Key)。这意味着备份文件结构上跟磁盘上已有的一致,没有特殊导出管线可能漏字段。

不为人知的赢家:KeePass .kdbx 完美往返

所有格式中,KeePass .kdbx 最接近通用的"长期存储"格式:

  • 开放规范(KeePass 2 文件格式有文档)
  • AES-256 / ChaCha20 加密 + Argon2 KDF
  • 丰富的字段 schema:标题、用户名、密码、URL、笔记、自定义字段、附件、标签、颜色标签、过期
  • 20+ 年格式稳定 — KeePass 2.0(2007)的文件在当前版本仍能打开

如果你需要把密码库放到"10 年都安全且没人能从你这里夺走"的地方,导出到 .kdbx。加密、刻光盘、放保险箱。那个文件会比你今天用的任何密码管理器初创公司都活得久。

ByteGuard 导出到 .bytegx(更适合我们内部模型)以及 .csv(用于迁出)。我们目前不导出 .kdbx — 但它在路线图上,正是因为长期归档场景。

实操迁移清单

如果你迁入到 ByteGuard:

  1. 从源端导出 — 优先选最丰富的格式(JSON > CSV)
  2. 验证 TOTP 密钥在导出文件里。打开文件搜 totp 或 otpauth://。如果没有,迁移后要在每个服务上重新注册 2FA。
  3. 跑 ByteGuard 的导入预览 — 看条目数 + 丢失列表
  4. 确认导入。抽查 5 个随机条目(特别是 TOTP — 验证 6 位码与旧管理器同账户的码一致)
  5. 这之后才删除导出文件(回收站 + 云同步 + 可选安全删除)
  6. 等 24 小时,每天用 ByteGuard,确认没什么重要东西丢了
  7. 再退订 / 取消老管理器

如果你迁出 ByteGuard:

  1. 导出到 .bytegx(加密)做长期归档
  2. 也导出到 .csv 如果新管理器要 CSV
  3. 注意有损字段。在新管理器重新注册 TOTP。
  4. 导入成功后删 .csv

关键要点

  • 导出格式 > 一切其他因素,对长期密码管理器选择来说。挑导出丰富的。
  • CSV 是最小公约数。只用作传输,绝不当备份。
  • TOTP 是最灾难性的丢失。任何导出都要先验证 TOTP 是否保留再信任。
  • 加密 JSON(强 KDF + AEAD)是备份的正确默认。
  • KeePass .kdbx 最接近通用长期归档格式。
  • 始终先跑导入预览、抽查、保留源文件 24 小时再删除。

ByteGuard 加密 JSON 导出的完整密码学细节在 安全白皮书 里。

Download ByteGuard on the App Store