KeepassDX 中文文档 下载 App

密钥文件解锁 - 第二道物理锁

什么是密钥文件

密钥文件(Keyfile)是 KeePass 数据库支持的第二种解锁因子。和主密码不同,密钥文件是一个物理文件,它的文件哈希值参与解锁过程。

数据库加密密钥 = f(主密码, 密钥文件哈希, 盐值)

这意味着即使攻击者拿到了你的主密码,但没有密钥文件,也无法解锁数据库。反之亦然。

密钥文件生成
生成密钥文件

如何生成密钥文件

从 KeePassDX 4.1.0 开始,可以在应用内直接生成密钥文件:

  1. 打开数据库设置
  2. 进入"凭证"或"解锁设置"
  3. 找到"密钥文件"选项
  4. 选择"生成新密钥文件"
  5. 选择保存位置

生成的密钥文件是随机二进制内容,推荐使用 .bin 后缀。不要修改它的内容或文件名——任何改动都会导致哈希值不匹配,数据库打不开。

旧版本

在 4.1.0 之前的版本里,KeePassDX 不能生成密钥文件。你需要:

官方文档明确指出:密钥文件可以是任意类型的文件,但推荐使用无扩展或 .bin 后缀——某些系统会自动尝试打开带扩展名的文件(比如 .exe、.html),可能导致意外行为。

密钥文件的保管

密钥文件的安全性取决于它是否和数据库文件物理隔离:

✅ 正确做法

❌ 错误做法

常见坑

密钥文件被 Android 处理

KeePassDX 的 Issues 里有用户报告:某些 Android 系统(特别是国产 ROM)会自动尝试打开密钥文件,或者在文件选择器里隐藏 .bin 后缀文件。

解决办法:

  1. 在文件管理器里手动用"打开方式"指定 KeePassDX 打开
  2. 或者把密钥文件先命名成其他名字,使用时再选
  3. 在 KeePassDX 里选择密钥文件时,用自带的文件选择器而不是系统选择器

密钥文件丢失

密钥文件丢失 = 数据库永久锁死(和主密码丢失同等严重)。所以一定要做好备份: