我相信这对某些人来说可能很简单,但是很好。
这对我来说很难,我想使用ispconfig客户端信息登录,并且它工作得很好,除了密码需要匹配ispconfig密码,它使用加密/盐加密,据我所知,如何与用户输入的密码相匹配?
到目前为止,我有这个,但我似乎没有工作:
$clientPassword = $_POST['password'];
$selectUserPass = mysqli_query($con, "SELECT * FROM client");
$Passcollected = stripslashes($selectUserPass['password']);
$salt = '$1$'.substr($saved_password, 3, 8).'$';
$clientPasswordSafe = crypt(stripslashes($clientPassword), $salt);谢谢!
发布于 2015-03-23 20:04:53
如果密码确实是用crypt()函数散列的,那么您可以这样验证它:
$clientPassword = $_POST['password'];
$selectUserPass = mysqli_query($con, "SELECT * FROM client");
$Passcollected = $selectUserPass['password'];
$isPasswordCorrect = crypt($clientPassword, $Passcollected) === $Passcollected;或者更容易使用新的密码函数:
$clientPassword = $_POST['password'];
$selectUserPass = mysqli_query($con, "SELECT * FROM client");
$Passcollected = $selectUserPass['password'];
$isPasswordCorrect = password_verify($clientPassword, $Passcollected);注意,我没有使用strip斜杠()函数,在散列之前没有必要转义。salt是存储散列的一部分,将由验证函数自动提取。
https://stackoverflow.com/questions/29216791
复制相似问题