得到不同长度的哈希

时间:2014-10-29 16:58:20

标签: php mysql hash varchar salt

当我存储我的哈希密码时,它会以29个字符输入,但当我哈希进行密码验证时,它是64。第一个29个字符匹配,但我需要延长存储的哈希值或缩短验证哈希值。我已经环顾网络,但似乎无法明确地知道如何做到这一点。

哪种选择(延长或缩短)更可取,我将如何做到这一点?

这是我的哈希存储:

$hash = hash('sha256', $password1);

function createSalt(){
    $text = md5(uniqid(rand(), true));
    return substr($text, 0, 3);
}

$salt = createSalt();
$password = hash('sha256', $salt . $hash);

这是我的密码验证和哈希回合(不匹配):

$userData = mysql_fetch_array($result, MYSQL_ASSOC);
$hash = hash('sha256', $userData['salt'] . hash('sha256', $password) );

if($hash != $userData['password']) // Incorrect password.
{ echo $userData['password'];
echo $hash;
    die ('incorrect password : ' . mysql_error());
}

感谢您的帮助,我真诚地感激它!

0 个答案:

没有答案