例如,OWASP考虑 10-128 个字符,包括小写、大写、数字和特殊字符(我不明白为什么会有上限)。使用 OWASP 的最低准则并假设有 28 个特殊字符,熵为 3e19。但是只有小写字母的 16 个字符的密码是 4e22。输入大写字母,它是 2e27。计算机可以以相当快的速度进行计算,但无论它是什么,它都会降低熵,这意味着差异不是 22 个零到 19,而是更接近 5 到 2,即差异很大。
如果长度是一个问题,12 个小写 + 大写字符是 3e20。其他大公司仍然强制人们使用最小长度为 8 的特殊字符。当另外两个字符不仅更安全而且更容易记住时,为什么还要强迫人们使用特殊字符 - 以及分机号码?为什么他们对这个如此肛门?
有些人认为长密码不好,因为人们只使用真实的单词,因此极大地限制了熵。为此,我会用较短的密码说同样的话,因此是字典+规则攻击。强制数字和/或特殊字符只会导致密码像[word]1!,或更糟,Password1!。有人可以解释为什么特殊字符在安全密码中是必需的,或者为什么尽管有证据反对它却被认为是这种方式。