我将与其他答案(到目前为止)有所不同,并建议如果您为每个网站生成一个唯一的随机密码,则根本不需要很长的密码。
让我们考虑一下对密码的威胁。我们将只看服务器端(即,我们不会考虑您 PC 上的击键记录恶意软件之类的事情,因为密码长度在那里没有多大帮助)
所以基本上与密码长度相关的攻击分为两类。在线暴力破解和离线暴力破解。
在在线暴力破解中,攻击者试图猜测您对网站的密码,因此他们每次尝试都会提交一个请求。实际上,许多站点会在多次错误请求后锁定,但为此我们假设它们不会
现在假设攻击者每秒可以进行 1000 次猜测。如果您(例如)使用大写、小写和数字字符选择了 8 个字符的随机密码,则有 62^8 个选项。以这样的速度,我们正在谈论宇宙的热寂,然后他们才猜到。
现在有人可能会说“如果攻击者让僵尸网络猜到了怎么办,他们可以走得更快!”,我建议您在使这个速度足够快以实用之前几乎对任何站点进行 DoS。
好的,让我们谈谈离线蛮力,因为它与密码长度更相关。在这里,攻击者已经获得了您的密码哈希的副本,因此他们很可能已经彻底破坏了该站点的安全性。在这里,您可以提出一个论点,即您希望密码持续足够长的时间,以使网站注意到他们已被加密并让您重置密码。
确切地说多长时间有点棘手,因为这在很大程度上取决于网站如何存储他们的密码。如果他们使用未加盐的 MD5,那与他们使用具有高工作因子的 bcrypt 相比有很大的不同。
然而,在这一切中要考虑的一件事是影响。这个密码被破解有什么影响。好吧,如果您为每个站点都使用了唯一的随机值,那么影响可能非常有限。您希望您的高价值网站都使用 2FA,因此仅凭密码就不会让攻击者走得太远,而低价值网站,那么妥协的后果是什么?
所有这些分析并不能真正回答您的问题,但根据经验,我建议您是否使用 10-12 个字符以及大写、小写和数字,并且密码真的是随机的(这是重要的一点)你'是a)可能很好,b)不太可能遇到任何网站限制的问题。
根据这篇关于密码破解的文章,“超级计算机或僵尸网络”破解 10 个字符的大、小、数字密码需要 83 天。您必须问自己的是,攻击者是否可能会投入成本来破解一个他们已经损害目标站点安全性以获取哈希的单个密码......