Lo he mirado así un poco rápido. Al guardar la pass lo guardas mediante
Código PHP:
$password = sha1(trim(preparar_consulta($_POST["password"])
Y al realizar la comparación, estás comparando la pass que viene por POST (sin sha1), con la que está guardada en la DB que la has guardado con sha1.
Código PHP:
//archivo login
$username = $_POST["username"];
$password = $_POST["password"];
$usuario= Usuario::autenticar($username,$password);
En alguna parte de aquí debes igualar el proceso de hasheado antes de pasarlo a la consulta para que compare las dos contraseñas exactamente iguales.
Código PHP:
//class Usuario
public static function autenticar($username = "", $password= "")
{
global $bd;
$username = $bd->preparar_consulta($username);
$password = $bd->preparar_consulta($password);
$sql = "SELECT * FROM usuarios ";
$sql .= " WHERE username='{$username}' ";
$sql .=" AND password='{$password}' ";
$sql .=" LIMIT 1";
$matriz_usuarios = Usuario::buscar_por_sql($sql);
return (!empty($matriz_usuarios)) ? array_shift($matriz_usuarios) : false ;
}
Prueba y nos cuentas,