加密、恢复码、备份、换机迁移——你关心的问题,答案都在这里。
真的加密了。宇宙核零账号设计:数据默认只存在你自己的设备上,用公认最强的算法加工——你的密码经过 Argon2id(运算时占用 128MB 内存,GPU 暴力破解几乎不可能)派生主密钥,每个文件再用独立的 AES-256-GCM 随机密钥加密。钥匙(主密钥)只在你解锁期间存在于内存里,锁屏立即清除;数据密钥由手机系统级安全芯片(Android Keystore / iOS Keychain)保管。
没有账号,意味着没有“服务器保管你的密码”这个环节——密码泄露面为零。代价是:忘了密码,只能靠「恢复码」找回。
靠「密码找回」(恢复码体系)。开启后系统生成一串 恢复码(可拆成 5 份,凑齐 3 份即可恢复):你自己保管 1-2 份,其余分给信得过的亲友。忘记密码时,输入恢复码即可重置密码并还原全部数据,不需要任何服务器介入。
如果你既忘了密码、又没开密码找回、也没有备份——数据将无法恢复。这是零账号加密的物理边界,所以强烈建议:设置密码后立刻开启密码找回。
恢复码 = 32 字节真随机数(32 × 8 = 256 bit 熵),生成时使用系统安全随机源(Random.secure())——每一位都是独立抛硬币的结果。破解它,意味着要在 2²⁵⁶ 种可能里找出正确的那一个。
2²⁵⁶ 有多大?给你几个直观参照:
所以“数学上不可破”的准确含义是:不是绝对不可能,而是在物理定律允许的计算能力内不可能——不是“难”,是“物理上做不到”。
**量子计算机也救不了:**量子 Grover 算法能把对称密钥搜索减半:256 bit → 2¹²⁸ 次。但 2¹²⁸ 依然超过宇宙原子数,量子计算机同样无解。恢复码使用的 AES-256-GCM 正是抗量子搜索的强度级别。
为什么人类密码就不行?
| 人类密码 | 恢复码 | |
|---|---|---|
| 熵来源 | 你的记忆,可预测(常见词、生日、键盘模式) | 真随机数发生器 |
| 实际熵 | 12 位随机字符 ≈ 78 bit;常见密码常常 < 30 bit | 256 bit |
| 爆破代价 | 30 bit ≈ 10⁹ 次尝试,GPU 几小时 | 2²⁵⁶ 次,物理不可行 |
30 bit 和 256 bit 的差距不是 8 倍,而是 2²²⁶ ≈ 10⁶⁸ 倍——这就是“KDF 高强度(Argon2id)能护住人类密码、但对 256-bit 随机密钥只是锦上添花”的原因:恢复码根本不需要 KDF 慢化,它本身就是满熵密钥。
诚实的边界:“数学上不可破”只保护密钥本身。真正能干掉恢复码的从来不是穷举,而是人的环节——抄在纸条上被拍照、存手机备忘录被 root、截图发给自己上了云。密钥再强,泄露了就是泄露了。**使用铁律:写在纸上锁进抽屉 / 存进密码管理器(也要强主密码),不拍照、不上云、不发给任何人。**好友份额是 Shamir 拆分后的分片,单份没用,可以放心分出去。
存储加密等级(加密相机、加密笔记等工具)按安全强度从低到高:
| 等级 | 文件 | 安全强度 | 换设备 |
|---|---|---|---|
| 明文 | 不加密 | 谁拿到都能看 | 直接拷贝 |
| 可迁移 | 加密,盐随文件 | 需密码 | 输密码即可 |
| 盐分离(加密) | 加密,盐存设备 | 需密码 + 设备盐 | 需恢复码 |
| 盐交换(导出最强) | 加密,盐线下交换 | 需密码 + 盐,双要素 | 需对方盐 |
简单记:明文 → 可迁移 → 盐分离,安全递增、麻烦也递增。默认“跟随全局”即可;文件越敏感,选越高的档。
**标准流程:**旧机备份(本地或 WebDAV 云端)→ 新机恢复 → 输备份密码。
**换设备找回旧密钥:**备份会自动带回恢复配置,新机恢复后输入恢复码,旧设备的主密钥即可还原,全部加密数据立即可读。
**单文件分享:**人物卡片等工具支持导出——可迁移格式换设备输导出密码即可;「盐离线交换」格式需要先线下交换盐(更安全,适合敏感文件)。
因为备份 ≠ 单纯拷贝密文。备份要让你换设备后能重建一切,所以包里除了密文,还包含明文结构数据(部分工具数据)和钥匙材料(盐、校验数据、恢复配置)——这些必须用备份自己的密码整体再锁一层。设备上的加密防的是“文件泄露”,备份密码防的是“备份文件泄露”,两层独立。忘了备份密码?那就需要恢复码还原主密钥后重新备份了。
把加密备份自动上传到你自己的网盘/私有云(坚果云、NextCloud、群晖等支持 WebDAV 的服务器),不经过任何第三方。备份文件是加密的(.encbak),密码在 Keystore;传输走 HTTPS。支持每日/每周自动备份,启动时到期自动执行——设备丢失也能从云端找回数据。
盐丢了:盐分离备份(文件不带盐)将无法解密——包括你自己。所以开启盐分离时 App 会反复提醒:把备份盐导出并线下保管(U盘/打印/密码管理器)。
盐泄露:泄露之前的所有盐分离备份失守(无法挽回,建议删除云端旧备份);重新生成备份盐后,新备份自动用新盐,不再泄露。旧盐在盐库保留期间旧备份仍可恢复。
如果不想承担保管盐的负担,用默认的「可迁移」备份即可——备份带盐,换设备输密码就能恢复,安全性已经足够高。
不会。早期版本存在“外部文件导入覆盖现有数据”的严重缺陷,已在后续版本修复:设备已有数据时,外部打开备份走解锁后合并导入(现有数据 + 新增,按 id 去重);只有空卡(首次使用)才走一步导入。请务必升级到最新版本。
如果是旧版本导出的备份:包内照片仍用源设备密钥加密,目标设备无法解密——需要用新版本重新导出一份(新导出会用导出密码重加密照片,换设备输入密码即可查看)。
如果是新版本导出的:请确认输入的是导出密码;「盐离线交换」格式还需先导入发送方的盐。
两个历史问题均已修复:① 分享目标曾并入本应用任务栈导致“卡在微信界面”——现分享在独立任务中打开,返回即回应用;② 华为机型 FileProvider 崩溃(R8 混淆导致)导致导出闪退——已通过保留 org.xmlpull.v1 修复。如仍遇到问题,请通过 问题反馈 告诉我们你的机型与系统版本。
加密导出强制强密码:至少 8 位、含字母和数字、不能是纯数字/纯字母,弱密码无法确认导出。因为导出文件(可迁移格式)的盐随文件,密码是文件的唯一钥匙——密码越强,文件越安全;配合「盐离线交换」导出,密码+文件都泄露也解不开。