关于您的标准的简单之处在于您实际上并不需要匹配的集合。只要数据文件完全可互操作,任何不相关应用程序的组合都可以工作。
TL;博士
KeepassX 2 + Keepass2Android使用相同的数据格式,并且是我所知道的唯一满足您所有标准的一对,即使有几个“陷阱”。
数据格式
就可互换的密码管理器数据格式而言,房间里基本上有一只 800 磅的大猩猩。最初为KeePass构思的数据格式既成熟又得到广泛支持。所使用的密码学也经过了广泛的同行评审,因此可以说它比许多小型参与者或使用专有格式的商业解决方案更安全。
诀窍是您需要使用数据格式 (kdbx) 的版本 2。您的标准包括几个项目,包括需要在版本 1 数据库格式 (kdb) 中不可能的自定义数据字段,该格式将条目限制为一组预定义的字段,这些字段适合严格的“登录凭据管理器”滚动,但不是您正在寻找的“私人数据管理员”角色。
历史
最初的KeePass软件是为 Windows 编写的。并且 1.x 系列只能在该平台上运行(尽管它在 WINE 下运行,所以我们中的一些人在有替代品之前就已经从它中获得了 Linux 里程。2.x 系列基本上是一个具有许多改进的重写,其中包括一个将在 Mono 下运行,支持 Linux、OSX 和 BSD。
我实际上建议不要使用原始客户端软件,而是使用一些替代品。我使用的这对似乎完全符合您的所有标准,但有一个警告。keepass 数据库格式允许随每个条目存储任意键/值对。虽然理论上这可以与智能界面一起使用,该界面可以智能地适应不同的条目类型(例如网站登录、信用卡数据、护照等),但据我所知,还没有客户这样做。您可以做的是使用任意字段来组织您自己的数据。
除了这个警告之外,当我选择自己的解决方案并且无法找到更好的一对时,我尝试了很多替代方案。如果有其他东西更符合您的标准,我也想听听它,因为我们的需求似乎相似。这是我能安排的最好的设置。
Linux 客户端推荐
KeePassX项目已经存在了相当长的一段时间。它最初被设想为与 Windows 项目并行,实际上称为 KeePass/Linux。在原始项目获得了自己的端口后,KeePassX 的名称被改编,代码实际上已经被移植到也可以在 Windows 和 OSX 上运行。正如您从提交日志中看到的那样,它正在积极开发,但不幸的是,该项目总是遭受非常长的发布周期和犹豫是否将任何未经受多年测试的稳定称为稳定。
出于您的目的,您将需要使用 2.x 系列。如果您的发行版仍然具有 0.4.x 系列,则此建议中的数据格式将无法与 Android 应用程序互换。
由于您将在这样的系统中放入的任何东西显然很重要并且如果您要破坏它,则无法恢复,因此您绝对应该放置一个故障安全备份系统。我喜欢将我的数据库保留为一个私有的 git 存储库,因此它的版本历史分布在我的许多机器上,以及一些特殊的备份规定。您说您将自己同步和管理数据库文件。这很好,只要做好你的功课,把它做好。如果损坏的数据库副本在您的所有设备上同步并破坏了您的备份,这不是客户端软件的错!
截至撰写本文时,最新的 KeepassX 2 发布标签是 2.0.3,但请查看项目新闻和源代码标签以获取新标签。该源可以从公告页面下载、编译和安装,或者您可以从项目的Github 镜像下载最新的 zip
安卓客户端推荐
您提到您尝试过KeePassDroid,这是将 KeePass 1 软件移植到 Android 的尝试。我发现界面很笨拙,并且(当我上次尝试时)它不支持自定义字段。支持 kdbx 格式文件(标记为 beta),但并非所有功能都被利用。
相反,我使用Keepass2Android并发现该界面比任何其他可用的 KeePass 兼容客户端都要好。如果您更愿意自己进行同步,那么有一个离线版本会去掉所有连接选项,从而满足该标准。还支持自定义字段,界面甚至使这相对简单。13 MB 的下载量有点重,但实际上前端干净且快速,并且定期更新以跟上最新的 Android UI 指南。后端很重,因为它包含了其他广泛使用的代码以进行实际加密,但这确实意味着您可以非常确定加密技术比某些一次性设计正确完成。
奖金
假设您在 Linux 机器(或几乎任何其他桌面平台)上,需要进入您的密码数据库,但不必费心从源代码安装程序或摆弄自定义软件包存储库。有一个开源 JavaScript 客户端,它对 KeePass(仅限 kdbx)文件具有只读支持,称为BrowsePass(此处为 Chrome 扩展)。