我正在创建一个包含 password 和 password_again 字段的身份验证表单。所以我可以检查以确保它们匹配,我正在使用我的 UsersTable 的 beforeSave() 函数来处理散列。作为测试,我刚刚将它设置为再次显示密码,它的哈希结果然后死掉。
public function beforeSave($event, $entity){
debug($entity->password_again);
$hasher = new DefaultPasswordHasher();
$entity->password_again = $hasher->hash($entity->password_again);
debug($entity->password_again);
die();
}
我很好奇为什么每次重新加载结果时哈希都会不断变化。每次我重新加载它时,我都希望哈希值保持不变。提前致谢。
编辑:所以事实证明,您不应该对两个密码进行哈希处理,然后尝试比较它们。相反, DefaultPasswordHasher->check(password_again, password_hash) 将验证密码是否与您匹配。