-2

有没有办法比较在 sha2() 中加密后存储在数据库中的密码和用户在登录期间输入的密码而不加密登录时间密码?实际上,我想逐个字符地匹配密码并以大写或小写形式传递匹配项,换句话说,是否有一种函数或方法可以在比较之前对保存的密码进行解密?

4

2 回答 2

2

What you want to do sounds fishy.
Anyway no you can't recover a hashed string

于 2012-11-30T12:41:48.703 回答
0

您不能“解密” SHA 哈希。相反,将输入密码的 SHA 版本与数据库中存储的密码(也经过哈希处理)进行比较。

$enteredpass = $_POST['password'];
$enteredpass = sha2($enteredpass);
$realpass = sha2('password123'); //Yup, best password EVAR!! xD
if ($enteredpass == $realpass) {
     echo "THE PASSWORD IS CORRECT!! :D";
}
else {
     echo "THE PASSWORD IS INCORRECT!!";
}

您可能想使用数据库,但这只是一个简单的示例... ;)

于 2015-12-05T15:22:05.420 回答