您正在为我的项目使用哈希。我是按照以下代码正确创建加密的:
<?php
function cryptPass($input, $rounds = 9) {
$salt = "";
$saltChars = array_merge(range('A','Z'), range('a','z'), range('0','1'));
for($i = 0; $i < 22; $i++)
{
$salt .=$saltChars[array_rand($saltChars)];
}
return crypt($input, sprintf('$2y$%02d$', $rounds). $salt);
}
$pass = "passsword";
$hasedpass = cryptPass($pass);
echo $hasedpass;
echo '<br>';
?>
我的结果是: $ 2y $ 09 $ HICRjrIyBYXWqcqRFC1dDOXF9tTtKZeOTBewebsooxHtWvvepqrnu
现在我的问题是如何解密$hasedpass
。
我的意思是结果将来password
$传递值。
答案 0 :(得分:3)
来自文档:
crypt - 单向字符串哈希
您无法解密单向哈希。这就是使用单向散列的重点。
如果您想知道密码是否正确,请获取提交的密码,使用相同的盐密码,然后将结果与存储的散列版本进行比较。