El \n
en la siguiente línea, está incrustado un salto de línea, (Editar:uno que no se puede incluir en la contraseña ingresada por el usuario) .
$password = password_hash($pass, PASSWORD_BCRYPT, $options)."\n";
y debe eliminarlo y comenzar de nuevo con un nuevo hash.
Jay Blanchard
, un miembro aquí en Stack envió una nota
sobre esto no demasiado tiempo también en el password_hash()
manual, que es algo de lo que él y yo hablamos.
Otra opción sería usar trim()
; eso también funciona (en el momento del hashing).
$password = password_hash($pass, PASSWORD_BCRYPT, $options)."\n";
$password = trim($password);
// Store in db after
Sin embargo, aún debe comenzar de nuevo borrando los hash antiguos y creando otros nuevos.
Sin embargo, tenga en cuenta que no debe escapar de las contraseñas.
Uno como 123'\abc
(siendo perfectamente válido) se modificará a 123\'\abc
por real_escape_string()
; no es necesario password_verify()
se encarga de eso, en cuanto a seguridad.