密码仪表不好。好吧,这有点简单,所以让我更详细地说明一下:像您使用的“密码计”应用程序是无意识和通用的;它衡量的是破解密码的努力,使用密码计量器作者想到的盲目和通用的策略。特别是,该密码计系统不知道您的密码是通过组合从短列表中随机抽取的单词生成的。但是,意图破解您的密码的攻击者会知道这一点并适应:您只是在公共论坛上写的,所以它已成为公共信息。
正确的熵计算不适用于实际密码值,而是适用于生成密码的过程。我们只是假设攻击者知道这个过程,并且知道除了实际的随机选择之外的所有内容。使用 5000 列表中的 4 个单词,您会在一组 5000 4中以统一的选择概率(这是一个重要假设)获得一个密码,因此这里的熵是 49.15 位(因为 2 49.15大约等于 5000 4)。使用 3 个字,您将获得 36.86 位。有关熵计算的更多信息,请参阅此答案。
(在基于 Web 的“密码计”中输入密码的智慧也值得怀疑。您链接到的那个声称它会在 Javascript 中进行所有计算,并且您的密码不会离开您的浏览器,但您是否真的检查过Javascript源来确保它?)
就密码而言,36.86 位的熵相当不错。普通用户选择的密码的熵远低于此。如果散列未正确完成(例如,一些带有几次 SHA-1 调用的自制构造),则获得相应散列的攻击者将破解这样的密码,但即便如此,其他用户也有可能首先失败。
但是,您做错了什么。它就在那里,在你的第一句话中:
我主要使用 2 个密码:1 是一个 4 字的全小写密码,长度为 18 个字母,我尽可能使用它。
重点是我的;它显示了问题。您正在重复使用密码。那很不好。您不得重复使用密码。当您在N个站点上使用相同的密码时,会将您在所有站点上的帐户安全性降低到N个中最差的级别。此外,当该网站被黑客入侵并且您的密码被盗,并且您的密码出现在通过 P2P 网络交换的登录名+密码列表中时,您将不知道哪个网站做错了。许多网站仍然存储明文密码(这是一种犯罪行为),因此必须假定任何广泛重复使用的密码已经泄露。
如果您使用特定于站点的密码,那么任何损害都将包含在特定的罪魁祸首中。当然,这意味着您身边有一些存储系统,例如KeePass或低技术的“passwords.txt”文件(您必须注意存储和使用它的位置,但可以通过良好的物理安全性进行管理),甚至是您保存在钱包中的打印清单。在实践中,为了防止损坏而分离密码对您的安全性来说比密码熵更重要。