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