Witam,
mam taki skrypt:
public function auth($username, $password){
$result = $this->db->select("SELECT * FROM airadmin_users WHERE username = :username", array(':username' => $username), true);
if($result['count'] == 1){
$passwordhash = Hash::create('sha1', $password, $result['data'][0]['salt']);
echo $passwordhash; //Sprawdzanie co zwraca zahashowane hasło echo $result['data'][0]['password']; //sprawdzanie wyniku hasła z bazy //exit();
if($result['data'][0]['password'] == $passwordhash){
$_SESSION['user'] = array( 'username' => $result['data'][0]['username'],
'session_id' => uniqid("", true) );
$this->db->update(DB_PREFIX
.'users', array('session_id' => $_SESSION['user']['session_id'], 'username' => 'admin'), '`username` = :username');
return true;
} else{
return false;
}
} else{
return false;
}
}
No i pomimo, że $passwordhash i $result['data'][0]['password'] zawierają:
cf9b4e1c6e2c46dd0979e8d3e153e9701ac6e8b0
cf9b4e1c6e2c46dd0979e8d3e153e9701ac6e8b0
To i tak po sprawdzaniu
if($result['data'][0]['password'] == $passwordhash){
idzie do else, i zwraca fałsz...
Co mam w takiej sytuacji zrobić?