Je crée une page de connexion et j'ai besoin d'aide pour accéder au hashpassword dans ma base de données en utilisant CodeIgniter.Codeigniter et mot de passe de hachage pour la connexion?
Ma fonction hashPassword est:
function hashPassword($pass, $passKey){
$key = base64_decode($passwordKey);
return base64_encode(hash_hmac(
'sha256',
$key . mb_convert_encoding($password, 'UTF-16LE', 'ASCII'),
$key, true));
}
Je dois faire ce qui suit:
- extrait
id
de l'utilisateur de la tablemy_aspnet_Users
utilisant leurusername
- extrait
password
etpasswordKey
demy_aspnet_Membership
en utilisant leur id - vérifier si
password
est égal àhashPassword(<password entered by user>, passwordKey)
pour savoir si le mot de passe entré est valide.
J'ai donc deux modèles:
Class Password extends CI_Model{
function getPassword($password, $passwordKey){
$this -> db -> select ('userId, Password, PasswordKey');
$this -> db -> from ('my_aspnet_Membership');
$this -> db -> where ('Password = '. "'" . $password . "'");
$this -> db -> where ('PasswordKey = '. "'" . $passwordKey . "'");
$q = $this -> db -> get();
if ($q -> num_rows() == 1){
return $q ->result();}else{
return false;
}
}
}
et ..
Class User extends CI_Model{
function getUser($id){
$this -> db -> select('id, name ');
$this -> db -> from('my_aspnet_Users');
$this -> db -> where('id = '. "'". $id . "'");
$this -> db -> limit(1);
$query = $this -> db -> get();
if($query -> num_rows() == 1){
return $query->result();
}
else{
return false;
}
}
}
Je n'ai aucune idée comment les faire travailler ensemble pour perfrom vérification de mot de passe.