Ver Mensaje Individual
  #7 (permalink)  
Antiguo 23/03/2015, 08:11
Avatar de NueveReinas
NueveReinas
 
Fecha de Ingreso: septiembre-2013
Ubicación: No tan Buenos Aires
Mensajes: 1.101
Antigüedad: 11 años, 2 meses
Puntos: 145
Exclamación Respuesta: Problema al comparar contraseñas con crypt()

Cita:
Iniciado por MaNuX0218 Ver Mensaje
Lo siento e eliminado el post por que era incorrecto, la mejor solución es como comenta boistoc.

Con password_verify() puedes hacer la comprobación.

Ejemplo:

Código PHP:
Ver original
  1. $encriptado_db = $row['PASS_DB'];
  2. if(password_verify($_POST['CAMPO_PASS'], $encriptado_db)){
  3. // la contraseña coincide
  4. }else{
  5. // la contraseña no coincide
  6. }

Saludos.
Lo he intentado, pero no. No me verifica el hash, por lo visto.

Código PHP:
Ver original
  1. $email = $_POST["user"];
  2. $pass = $_POST["pass"];
  3.  
  4. $consulta = "SELECT * FROM usuarios WHERE email = '$email' AND password = '$pass' ";
  5.  
  6. $resultado = mysqli_query($connection, $consulta) or die(mysql_error());
  7. $datos = mysqli_fetch_array($resultado);
  8.  
  9. $email = $datos['email'];
  10. $passwordDB = $datos['password'];
  11.  
  12. $encr = password_verify($pass = $_POST["pass"], $passwordDB);
  13.  
  14. if(password_verify($pass = $_POST["pass"], $passwordDB)){
  15.     $incorrecto = "La contraseña SÍ coincide";
  16. }else{
  17.     $incorrecto = "La contraseña NO coincide";
  18. }

Y en HTML:

Código HTML:
Ver original
  1. <p><?php echo $incorrecto ?></p>
  2. <p>EMAIL: <?php echo $email ?></p>
  3. <p>PASSWORD: <?php echo $passwordDB ?></p>
  4. <p>ENCR: <?php echo $encr ?></p>

Pero no, sigue mostrándome que la contraseña no es válida ya sea poniendo la contraseña en sí o la contraseña encriptada (que saco de la DB desde PHPMyAdmin).

__________________
¿Te sirvió la respuesta? Deja un +1