我最近从互联网上学习了河豚加密,当用户注册数据库时,我能够加密用户密码。但是,当我想验证用户在登录时输入的值。键入的值与数据库中的值不匹配。
<?php session_start(); ?>
<?php
include("database.php");
include("cryptpassword.php");
$idno = $_POST['ID_Number'];
$password = $_POST['Password']; //inputPass
$conn = dbConnect();
if (!$conn)
die("Couldn't connect to MySQL");
$query = "select * from user where idno='$idno'";
//$queryadmin = "select * from user where idno='$idno' and usertype='admin'";
$result = mysql_query($query, $conn);
//$resultadmin = mysql_query($queryadmin, $conn);
if($row = mysql_fetch_assoc($result)){
$set_password = $row['employeepassword'];
echo $set_password;
}
//$row = mysql_fetch_assoc($resultadmin);
//$set_password = $row['employeepassword'];
$input_password = crypt($password, $set_password);
echo "</br /> $input_password";
if($input_password == $set_password) {
echo "</br />welcome";
}
else {
echo "</br />idiot";
}
dbDisconnect($conn);
?>
我得到的两个输出如下:
$ 2Y $ 10 $ dkGpWiujoaiegVABKvFXruQ $ 2Y $ 10 $ dkGpWiujoaiegVABKvFXruQzkyCZIbFCtxq2N / 5LmfLbi5dBHW0bS
第一个来自数据库,而第二个值来自用户输入,我不知道为什么用户输入有额外的值导致验证失败。