Skip to content

本地加密(保险柜)

是什么

本地加密是桌面端专属的整库加密功能(「设置 → 隐私 → 本地加密」):锁定或退出后,本机数据库(psb.db 及其 WAL/SHM)被整体加密为 psb-vault.enc,磁盘上不残留明文。防的是「别人动我电脑」。

技术要点:

  • 双层密钥:随机生成的 DEK(数据加密密钥)加密数据库本体;你的密码经 scrypt 派生出 KEK(密钥加密密钥),只用来包裹 DEK。
  • 加密算法为 AES-256-GCM;密文写入采用原子写(先写临时文件再改名),中途断电不会留下截断损坏的密库。
  • 改密码是即时完成的:只需用新密码重新包裹 DEK,不用重加密整个数据库。
  • 在这台电脑上记住密码」通过系统安全存储(Windows DPAPI)保存 DEK,仅当前 Windows 用户可解。

怎么用

开启

  1. 进入「设置 → 隐私」,找到「本地加密」区块,点「开启本地加密」。
  2. 向导会先要求你逐条勾选确认三条风险(忘记密码无法找回 / 运行期间为明文 / 不管云端),全部确认后才能继续。
  3. 设置加密密码(至少 6 位,请牢记),选择闲置自动锁定时间(5/15/30/60 分钟)。
  4. 可选勾选「在这台电脑上记住密码」(共用电脑不要勾选)。
  5. 点「确认开启加密」,服务会自动重启完成切换。

锁定与解锁

  • 手动锁定:「设置 → 隐私 → 本地加密」里点「立即锁定」。
  • 闲置自动锁定:系统空闲超过设定分钟数后自动锁定。
  • 退出加密:退出应用时自动加密落盘。
  • 解锁:锁定状态下启动应用会进入解锁页,输入密码即可;勾选了「记住密码」的机器可自动解锁。

修改密码 / 关闭加密

均在「本地加密」区块内操作,都需要验证当前密码。关闭加密后数据库恢复为明文存储。

场景

  • 共用或外借电脑:离开时锁定(或靠闲置自动锁定),磁盘上只有密文。
  • 笔记本遗失/送修:数据目录被整个拷走也无法读取内容。
  • 合规要求:要求静态数据加密(at-rest encryption)的使用环境。

注意事项

  • 忘记密码 = 数据永久无法恢复,没有找回途径,官方也无法解开。开启向导中的逐条确认就是为了确保你理解这一点。
  • 解锁使用期间,工作副本是明文。加密保护的是「锁定/退出后」的静态数据,运行中请靠系统锁屏 + 闲置自动锁定。
  • 本地加密只管本机:已同步到云端的数据在云端的状态由云同步自身的加密口径决定,两者独立,可叠加使用。
  • 记住密码功能绑定当前机器的当前系统用户;重装系统或换 Windows 账户后需重新输入密码。
  • 若加密写盘过程失败,系统会保持解锁状态并保留密钥,不会出现「密钥已丢、密文没写成」的数据损毁。

FAQ

开启本地加密会影响性能吗?

只在锁定/解锁时做整库加解密,正常使用期间读写的是工作副本,没有逐条加解密开销。改密码也是即时完成。

本地加密密码和同步口令是同一个吗?

不是。本地加密密码保护本机磁盘上的数据库;同步口令用于端到端加密云同步。两者相互独立,建议分别设置并各自牢记。

忘记密码真的没办法吗?

真的没有。密钥派生自你的密码,任何地方都不保存可逆的副本。请务必使用你确定不会忘的密码,或妥善离线记录。

崩溃恢复是指什么?

加密写盘先写临时文件再原子改名,中途断电/崩溃只会留下完整的旧密文或完整的新密文,不会留半个文件;解密时也有文件头和完整性校验,密库损坏会明确报错而不是静默出错。

相关阅读

基于 AGPL-3.0 协议发布。