我只是试图从.txt文件中提取散列数据,使用与password_verify()用户的. 从' 文件中提取的散列输入和用户输入的散列输入似乎与我从测试中得到的输出相匹配,但仍然是结果。verifyhashed passwordinput.txtverificationfalse
hashed password但是,当我使用 echo 语句将用户显示的输出复制并粘贴到哈希变量$password_test中时,验证工作并导致true.
当散列密码直接从.txt文件中提取到程序中时,显然会有所不同问题是。我觉得.txt文件导致password_verify()功能不strings一样的特殊格式可能与特殊格式有关,但我离题了。
任何关于可能发生的事情的信息都会很好。
$file = 'users.txt';
// get the form variable
$userId = $_POST['user_signin_Id'];
//$hashedPassword = password_hash($password, PASSWORD_BCRYPT);
$file_lines = file_get_contents($file);
list($name_fromFile, $email_fromFile, $userID_fromFile, $password_fromFile) = explode(':', $file_lines);
$trimmed_hashed_password_fromFile = rtrim($password_fromFile, ":");
$password_test = '$2y$10$aQDNx09.73PjLmY2YgK/NuvInQPk.185vC4exOlZYgA2LiBchK6Xy';
if(trim($userID_fromFile) == $userId && password_verify(trim($_POST['user_signin_password']), $trimmed_hashed_password_fromFile)){
echo 'Logged in'. "<br/>";
echo $trimmed_hashed_password_fromFile . "<br/>";
echo $password_test;
}// end if
else{
//echo crypt($password, $hashedPassword) . "<br/>"; //cryptPassword($password, $password_fromFile) . "<br/>";
//echo $hashedPassword;
echo $trimmed_hashed_password_fromFile . "<br/>";
echo $password_test . "<br/>";
echo gettype($trimmed_hashed_password_fromFile) . "<br/>";
echo gettype($password_test) . "<br/>";
}
我没有收到任何错误消息向你们展示。
PASSWORD_BCRYPT在使用函数中的参数对用户输入的密码进行哈希处理后,我希望结果是真实的,并且从文件password_hash()中将PASSWORD_BCRYPT加密密码拉入应用程序.txt。
慕后森
一只萌萌小番薯