Empresas
Empleos
  • Sobre nosotros
  • Soluciones
    • Publicación de vacantes
      Publica tu vacante y recibe candidatos calificados en 48h.
    • Evaluación de candidatos
      500+ pruebas técnicas y psicológicas, más anti-fraude.
    • Headhunting
      Búsqueda ejecutiva a la medida de principio a fin.
    • Nómina + EOR
      Dispersión de nómina y EOR en más de 15 países de LATAM.
  • Precios
  • Empleos

0

393
Vistas
¿Cómo comparar contraseñas (hashes de Bcrypt) en Symfony 3?

Al configurar una función de "cambio de contraseña" para un sitio, tengo una entrada de contraseña secundaria ( donde debe ingresar su contraseña nuevamente antes de poder cambiarla ).

Necesito poder verificar la contraseña actual del usuario ( hash usando Bcrypt ) contra la contraseña que se ingresó.

En mi acción de controlador tengo:

 $currentPassword = $request->request->get('password'); $encoder = $this->container->get('security.password_encoder'); $encodedPassword = $encoder->encodePassword($user, $currentPassword); if($encodedPassword == $user->getPassword()) { // these don't ever match. // ... }

encodePassword(...) produce un resumen de la contraseña que se ingresó, pero no es la misma que la contraseña guardada ( el texto sin formato es el mismo ), por lo que creo que se está aplicando una sal diferente y, por lo tanto, se produce la falta de coincidencia. .

Dado que Bcrypt incorpora la sal en el resumen de la contraseña, no la guardo en ningún lado.

¿Cómo puedo verificar si la contraseña de texto sin formato ingresada coincide con el resumen de Bcrypt almacenado en Symfony 3?

No estoy usando FOSUserBundle .

about 4 years ago · Santiago Trujillo
1 Respuestas
Responde la pregunta

0

Puede comparar la contraseña de $currentPassword con la almacenada utilizando el método isPasswordValid del servicio de codificador:

$encoderService = $this->container->get('security.password_encoder')

y luego pase el objeto de usuario como primer argumento del método:

$match = $encoderService->isPasswordValid($userObject, $currentPassword)

eso devolverá true si la comparación coincide o false en caso contrario.

about 4 years ago · Santiago Trujillo Denunciar
Responde la pregunta
Encuentra empleos remotos

¡Descubre la nueva forma de encontrar empleo!

Top de empleos
Top categorías de empleo
Empresas
Publicar vacante Precios Comercial
Legal
Términos y condiciones Política de privacidad
© 2026 PeakU Inc. All Rights Reserved.
Andres GPT
Recomiéndame algunas ofertas
Necesito ayuda