如何比较md5密码php

时间:2016-04-13 08:02:07

标签: php

我需要检查$user_entered_pass的{​​{1}}是否为$hash_val。请帮帮我?

    <?php
    $mypass = "Rainbow";
    $hash_val = md5($mypass);

    echo $hash_val; //always 32 characters

    $user_entered_pass = "rainbow";
?>

3 个答案:

答案 0 :(得分:3)

你可以哈希$ user_entered_pa​​ss并进行比较,我使用这种方法。

<?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
    }
?>

答案 1 :(得分:0)

将用户输入的密码转换为md5,然后检查。 $user_entered_pass_has = md5($user_entered_pass) 然后检查是否相等。

答案 2 :(得分:0)

将它与相同的运算符===进行比较,例如:

if ($hashFromDatabase === md5($userEnteredPasswort)) {
    // authenticated ...
}

但是,我强烈建议您不要将md5用作散列算法。在这里查看这个答案:Secure hash and salt for PHP passwords

此外,我建议您使用PHP的新密码哈希API(password_hash()password_verify())。

相关问题