有没有办法比较sha2()加密后存储在数据库中的密码和用户在登录时输入的密码而不加密login-time-password?实际上我想逐个字符地匹配密码并传递一个大写或小写的匹配,即换句话说是否有一个函数或方法在比较之前解密保存的密码?
答案 0 :(得分:2)
你想做什么听起来很腥 无论如何,你无法恢复散列的字符串
答案 1 :(得分: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!!";
}
您可能想要使用数据库,但这只是一个简单的例子......;)