主密码解锁 - 最基础也最可靠的方式
工作原理
主密码解锁是 KeePassDX 所有解锁方式的基础。它的内部流程:
- 你输入主密码
- KeePassDX 用 Argon2d 密钥派生函数把主密码 + 盐值转换成 256 位加密密钥
- 用这个密钥解密数据库头部,验证数据库完整性
- 解密成功则打开整个数据库
Argon2d 的参数(迭代次数、内存消耗)在创建数据库时设定,之后可以在数据库设置里调整。更高的参数值意味着:
- 更安全(每次尝试解密耗时更长,暴力破解成本更高)
- 但解锁更慢(尤其是低端设备上)
一般保持默认值就好——KeePassDX 的默认参数已经足够安全。
为什么主密码永远需要
即使你开启了生物识别解锁或设备凭证解锁,主密码仍然是必须的。原因有两个:
- 生物识别是解锁辅助,不是替代:它只是帮你快速打开数据库,但底层仍然用主密码加密,主密码被加密后存放在 Android Keystore 里
- 系统重置后必须重新输入主密码:Android 安全机制要求,设备经过一次完全重启后,生物识别解锁暂时禁用,必须输入主密码才能重新激活
输入密码时的安全细节
- 输入密码时 KeePassDX 默认隐藏字符,避免肩膀窥视
- 支持密码前缀快速验证模式(见"用户验证"相关页面)
- 解锁后 KeePassDX 会在内存中暂存解密后的数据库明文,直到你手动锁定或应用超时
定期更换主密码
主密码不需要像网站账户那样频繁更换,但建议:
- 每 6-12 个月更换一次
- 更换时同时更新数据库里的密钥派生参数(加一点迭代次数)
- 旧密码淘汰后,确认自己能记住新密码再删除旧密码的备份记录
更改主密码的步骤:数据库设置 → 密码 → 输入旧密码 → 输入新密码两次 → 确认。KeePassDX 会自动用新密码重新加密整个数据库。