Error comparing hash to hashed mysql password (output values are equal)

Posted by Charlie on Stack Overflow See other posts from Stack Overflow or by Charlie
Published on 2011-07-20T00:32:10Z Indexed on 2011/11/26 17:50 UTC
Read the original article Hit count: 153

Filed under:
|
|
|

Im trying to compare a hashed password value in a mysql database with the hashed value of an inputted password from a login form.

However, when I compare the two values it says they aren't equal. I removed the salt to simply, and then tested what the outputs were and got the same values

$password1 = $_POST['password'];
$hash = hash('sha256', $password1);
...connect to database, etc...
$query = "SELECT *
    FROM users
    WHERE username = '$username1'";
$result = mysql_query($query);
$userData = mysql_fetch_array($result);
if($hash != $userData['password']) //incorrect password
{
    echo $hash."|".$userData['password'];
   die();
}
...other code...

Sample output:

7816ee6a140526f02289471d87a7c4f9602d55c38303a0ba62dcd747a1f50361| 7816ee6a140526f02289471d87a7c4f9602d55c38303a0ba62dcd747a1f50361

Any thoughts?

© Stack Overflow or respective owner

Related posts about php

Related posts about mysql