我使用crypt函数在php中使用blowfish。我想知道如果密码的范围是0001-9999,猜测用户密码需要多长时间?
我应该为用户实现另一个输入密码值吗。
这基本上给了你10000个组合,猜起来会很快(即时)。
检查这个旧表,它现在快得多密码恢复速度
在任何现代计算机上测试所有大小为4的数字密码都非常快速。您应该确保您的密码由不同的字符(大写/小写字母、标点符号、特殊字符)组成,并且更长。
请看Jeff Atwood关于这个主题的这篇非常有趣的文章。
假设您将散列速度和可用性很好地结合在一起。
more hashing time =~ more brute-force resilient
但与此同时
more hashing time =~ less usability
假设您做出了一些妥协,并决定密码检查逻辑最多需要5
秒是可以的(您进行了大量迭代,这意味着您对密码进行了多次散列处理)。
中断的时间(以小时为单位)=组合*哈希时间(以秒为单位)/3600(+查找时间,琐碎)
让我们试试
中断时间(小时)=9999*5/3600=大约13小时48分钟
所以底线是,听从@Wookai的建议,不要使用短数字密码。