Hola.
He observado, que creando el mismo usuario varias veces, con los mismos datos y el mismo password, crea un password encriptadp distinto.
En la pagina https://www.dailycred.com/article/bcrypt-calculator
Uso el mismo pasword y me da distintos resultado también.
El método de encriptacion es
Código PHP:
encoders:
inventariouserBundleEntityUser:
algorithm: bcrypt
cost: 12
¿Por que?
[URL="https://en.wikipedia.org/wiki/Bcrypt"]https://en.wikipedia.org/wiki/Bcrypt[/URL]
Pensaba que el chorizo era la clave y el "sal" era algo interno de la entidad User.
Mi idea era coger el password guardado en el registro y generar uno igual y comparar
Código PHP:
$encoder = $this->container->get('security.password_encoder');
$encoded = $encoder->encodePassword($user, $password);
$user=$this->getDoctrine()->getRepository('userBundle:User')->findOneBy(array("username"=>$username,"password"=>$encoded));
Esto no iba a ningún lado, cada vez que se encripta se crea un "chorizo nuevo", por lo que siempre son distintos.
No era tan complicado.
Con esta función se solucionaba:
Código PHP:
if (password_verify($password, $user->getPassword()))
Se le pasa el password del formulario, sin codificar y el password que tenemos en la BBDD(este esta codificado). El solo saca el "sal" del guardado, hace la codificación con el password del login y compara los resultados.
Saludos Luis