我使用crypt函数在php中使用blowfish。我想知道如果密码范围是0001 - 9999,猜测用户密码需要多长时间?
我应该为用户实现另一个输入密码值。
答案 0 :(得分:2)
在任何现代计算机上测试大小为4的所有数字密码非常快。您应该确保您的密码由不同字符(大写/小写字母,标点符号,特殊字符)组成,并且更长(至少10个字符,甚至更多)取决于您系统的敏感度)。
请参阅Jeff Atwood关于此主题的this very interesting article。
答案 1 :(得分:2)
这基本上可以为您提供10,000种组合,并且可以非常快速(即时)来猜测它。
现在检查这张旧表的速度要快Password Recovery Speeds
答案 2 :(得分:1)
假设您想出了散列速度和可用性的良好组合。
more hashing time =~ more brute-force resilient
但同时
more hashing time =~ less usability
假设您做出了一些妥协,并认为密码检查逻辑可以用到5
秒(您通过大量迭代完成了这一操作,这意味着您多次对密码进行了哈希处理)。 / p>
暂停时间(以小时为单位) =组合* hashing_time (以秒为单位) / 3600(+查找时间,无关紧要)
我们试试吧
休息时间(以小时为单位) = 9999 * 5/3600 =大约13小时48分钟
如此底线,请遵循@ Wookai的建议,不要使用简短的数字密码。