У меня есть этот помощник для шифрования моего пароля
<?php
defined('BASEPATH') OR exit('No direct script access allowed');
/*
* This function used to generate the hashed password
* @param {string} $plainPassword : This is plain text password
*/
if(!function_exists('getHashedPassword'))
{
function getHashedPassword($plainPassword)
{
return password_hash($plainPassword, PASSWORD_DEFAULT);
}
}
/**
* This function used to generate the hashed password
* @param {string} $plainPassword : This is plain text password
* @param {string} $hashedPassword : This is hashed password
*/
if(!function_exists('verifyHashedPassword'))
{
function verifyHashedPassword($plainPassword, $hashedPassword)
{
return password_verify($plainPassword, $hashedPassword) ? true : false;
}
}
?>
Теперь у меня нет проблем с сохранением хешированного пароля в моей базе данных, и я делаю это так:
на моемmodel
function saveAccount($userinfo)
{
$data = array(
'username' => $this->input->post('username'),
'password' => $userinfo,
'type' => $this->input->post('accountType')
);
return $this->db->insert('users', $data);
}
и на моем controller
$userInfo = getHashedPassword($this->input->post('password'));
$this->employee->saveAccount($userInfo);
Сейчас этот процесс регистрации работает, и у меня нет проблем с сохранением его в моей базе данных, теперь моя проблемаявляется то, что всякий раз, когда я пытался войти в систему пользователя, я в настоящее время регистрируется для аналогичного примера. имя пользователя: admin5
пароль: admin5
(который зашифрован в моей базе данных)
на моем контроллере для входа в систему
$username = $this->input->post('username');
$password = $this->input->post('password');
$user_data = $this->employee->can_login($username,$password);
и на моей модели
function can_login($username, $password)
{
$this->db->where('username', $username);
$this->db->where('password', $password);
$query = $this->db->get('users');
$user = $query->result();
verifyHashedPassword($password, $user[0]->password);
if($query->num_rows() > 0)
{
return $query->row_array();
}
else
{
return false;
}
}
как вы думаете, может быть проблема?