根据我的计算,计算机需要大约 21 万亿年才能以每秒一万亿次猜测的速度循环遍历 109 位密码列表。换句话说,除非计算机技术需要一些严肃的进步。
然而,一些消息来源似乎反驳了这一点,例如这个这表明我的密码可能足以存储财务信息,任何超过 128 位的密码都是经常过度——意味着在某些情况下它并不算过度。
我的数学计算错了吗?真的有计算机可以在万亿分之一秒内进行一万亿次字符串比较,从而导致我的特定密码的字符集和长度的循环时间为 21 年吗?还是我遗漏了其他什么?
答案1
假设您的密码的字符是均匀分布的,因此您的密码无法使用字典(或字典和一些转换)破解:是的,它是安全的。
“任何超过 128 位的东西通常都是过度的”意味着您的密码通常在存储到数据库之前被散列或加盐+散列(以防止 SQL 注入攻击),并且因为一些流行的哈希函数有 128 位输出,提供超过 128 位的输入不会增加熵:长密码无论如何都会与短密码发生冲突。