我需要检查$user_entered_pass
是否与$hash_val
相同。请帮帮我?
<?php
$mypass = "Rainbow";
$hash_val = md5($mypass);
echo $hash_val; //always 32 characters
$user_entered_pass = "rainbow";
?>
您可以散列$user_entered_pass并进行比较,我使用此方法。
<?php
$mypass = "Rainbow";
$hash_val = md5($mypass);
echo $hash_val; //always 32 characters
$user_entered_pass = "rainbow";
if(md5($user_entered_pass) == $hash_val){
//The passwords are equal
}
?>
将其与相同的运算符===
进行比较,例如:
if ($hashFromDatabase === md5($userEnteredPasswort)) {
// authenticated ...
}
但是,我强烈建议您不要使用md5作为哈希算法。在这里查看这个答案:PHP密码的安全哈希和salt
此外,我建议您使用PHP中新的密码哈希API(password_hash()
和password_verify()
)。
将用户输入的密码转换为md5,然后进行检查。$user_entered_pass_has = md5($user_entered_pass)
然后检查是否相等。