下面我使用的是 KeePass v2.32 和 KeePassX v2.0.2,并且我使用的是 Linux。
我当时在调整变换轮数,发现在 KeePassX 中选择一秒延迟(这称为 KeePassX 的基准)时,结果是 21760000 轮,而 KeePass 则为 522174 轮。KeePassX 打开这两个文件的速度都非常快,21760000 轮的文件大约需要一秒钟,而 KeePass 打开 21760000 轮的文件大约需要 43 秒。更糟糕的是,Keepass2Android 打开 21760000 轮的文件大约需要 4 秒,而另一个文件则几乎是即时打开的。
是什么原因导致 KeePass 和 KeePassX 密钥转换轮次的性能差异如此之大?
看起来 KeePass 至少在 Linux 版本上有些问题。还请注意 21760000/43 大约等于 522174。我有点担心 KeePass 会给人一种虚假的安全感,因为看起来攻击者的暴力破解效率可能比 KeePass 所透露的要高得多。
(我知道 KeePass 和 KeePassX 并不完全相关)
更新:我在工作用的笔记本电脑上进行了测试(这台笔记本电脑比较旧,硬件也不太好),使用的是最新软件,KeePass v2.34 大约需要 25 秒,而 KeePassX(v2.0.3)大约需要 7 秒。有机会的话我会更新家用台式机上的软件,但这个问题似乎仍然有效,因为那些是最新软件,而且差别仍然很大。
答案1
我不知道速度不同的实际问题是什么,但是在不同的 CPU 上运行不同的实现会导致不同的速度。
如果您担心安全问题,最好使用强密码和/或安全存储数据库,而不是使用依赖长时间尝试(验证)密码的弱密码。