Basicamente estoy usando Crypt para encriptar las contraseñas de registro en laravel, no uso Hash porque ese registro va conectado a un juego en c#, entonces me veo forzado a usar Crypt, para encriptar la contraseña uso esto:
Código PHP :
public function setPasswordHashAttribute($value) { $this->attributes['PasswordHash'] = \Crypt::encrypt($value); }
Y la encripta correctamente en la base de datos:
Pero al momento de hacer el login uso esto:
Código PHP :
public function getPasswordHashAttribute($value) { return \Crypt::decrypt($value); }
Pero lamentablemente el Auth::attempt no reconoce la contraseña y me lanza un error de credenciales, aca el codigo:
Código PHP :
public function login(){ $data = Input::only('Email', 'PasswordHash', 'remember'); $credentials = ['email' => $data['Email'], 'password' => $data['PasswordHash']]; if(Auth::attempt($credentials, $data['remember'])){ return Redirect::back(); } return Redirect::back()->with('login_error', '1'); }
Como puedo comparar la contraseña con la base de datos y que el login funcione correctamente?
Muchas gracias