这是一个注册页面
$query = $db->prepare ('INSERT INTO user(user_first_name, user_last_name,user_password) VALUES (:f_name, :l_name, :u_pass)');
$query -> bindParam(':f_name', $_POST['user_fname']);
$query -> bindParam(':l_name', $_POST['user_lname']);
$passSh1 = sha1($_POST['user_pass']);
$query -> bindParam(':u_pass', $passSh1);
这是登录页面
$query1 -> bindParam(':f_name', $_POST['user_fname']);
$passSh2 = sha1($_POST['user_pass']);
$query1 -> bindParam(':u_pass', $passSh2);
echo $passSh2 . '</br';
当我使用注册页面尝试使用密码'z'时,我得到'395df8f7c51f0070'
当我尝试使用登录页面时,我会收到'395df8f7c51f007019cb30201c49e884b46b92fa'
答案 0 :(得分:0)
检查数据库中user_password字段允许的长度,它看起来肯定是截断它,我看到的唯一方法是使用VARCHAR(16)
或其他东西。
答案 1 :(得分:0)
sha1是一个40个字符长的哈希值。你应该使用CHAR(40)。