PHP password_verify()返回false,而密码与mysql的哈希密码匹配

时间:2019-05-24 10:42:43

标签: php mysql codeigniter

当我注册用户时,使用password_hash()将密码保存在mysql数据库中的表“ gebruiker”中“ wachtwoord”列中

当我检索密码并执行password_verify()时,当我100%确定密码匹配时,它总是返回false。

输出变量以检查密码哈希和密码本身是否正确

function getGebruiker($email, $wachtwoord)
        {
            // geef gebruiker-object met $email en $wachtwoord EN geactiveerd = 1
            $this->db->where('email', $email);

            $query = $this->db->get('gebruiker');

            $gebruiker = $query->row();
                // controleren of het wachtwoord overeenkomt
            $hash = $gebruiker->wachtwoord;
            if (password_verify($wachtwoord, $hash)) {
                return 'Beer';
            } else {
                return null;
            }
        }

function insertGebruiker($voornaam, $naam, $email, $wachtwoord)
        {
            // voeg nieuwe gebruiker toe
            $gebruiker = new stdClass();
            $gebruiker->naam = $naam;
            $gebruiker->voornaam = $voornaam;
            $gebruiker->email = $email;
            $gebruiker->wachtwoord = password_hash($wachtwoord, PASSWORD_DEFAULT);

            $this->db->insert_id();
            $this->db->insert('gebruiker', $gebruiker);
        }

我用密码注册了用户,并将其插入数据库中。这可行。 当我尝试登录时,密码验证始终返回NULL。而不是字符串“啤酒”(这只是测试字符串)

0 个答案:

没有答案