如何比较md5密码php


How to compare md5 password php

我需要检查$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)然后检查是否相等。