使用相同哈希函数sha1的不同密码

时间:2014-03-30 04:47:41

标签: php

这是一个注册页面

        $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'

2 个答案:

答案 0 :(得分:0)

检查数据库中user_password字段允许的长度,它看起来肯定是截断它,我看到的唯一方法是使用VARCHAR(16)或其他东西。

答案 1 :(得分:0)

sha1是一个40个字符长的哈希值。你应该使用CHAR(40)。