授权的哈希并发症

时间:2014-09-06 14:55:20

标签: hashcode

我遇到了这个问题,用户的注册工作正常,但是当我想登录时,将我的数据库中的哈希值与生成的哈希值(相同的函数)进行比较,我得到了dif hashs

这是我用来散列内容的代码:

public function encryptPassword($password){
    return base64_encode(Pbkdf2::calc('sha256', $password, $this->salt, 10000, strlen($password*2)));
}

我在我的二传手上使用它:

public function setPassword($password) {
    $this->password = $this->encryptPassword($password);
    return $this;
}

我遇到的问题出现在我的存储库中,我再次确定了哈希值:

class UserRepository extends EntityRepository{

    public function findByEmailAndPassword($email, $password){
        $user = $this->findOneByEmail($email);

        if($user){
            $hashSenha = $user->encryptPassword($password);
            if($hashSenha == $user->getPassword()){
                return $user;
            }else{
                return false;
            }
        }else{
            return false;
        }
    }
}

然后,我得到了一个与我的意思略有不同的编码,你可以在这里看到:

可能导致什么?

提前致谢, Danilo Scanferla

0 个答案:

没有答案