如果bcrypt使用password_hash($password, PASSWORD_DEFAULT)
和['cost' => 12]
登录表单使用标准password_verify
if (!password_verify($password, $check_password)) {
我注意到将成本增加到16会显着增加提交时的登录时间。它是否与sleep()的工作方式相同,如果是这样,它是否可以被DOS用于服务器?
答案 0 :(得分:7)
成本因素旨在阻止离线强力攻击(即,某人从数据库中获取哈希值)。对于实际的在线暴力攻击,Bcrypt已经太慢了。例外:如果您的密码是10,000 most common之一,那么猜测是微不足道的。您想要的不是增加成本因素,而是关注rate limiting your login attempts。