Ver Mensaje Individual
  #6 (permalink)  
Antiguo 19/11/2015, 16:36
Avatar de kahlito
kahlito
Colaborador
 
Fecha de Ingreso: marzo-2003
Ubicación: En el Estrecho y el mar
Mensajes: 2.936
Antigüedad: 21 años, 9 meses
Puntos: 65
Respuesta: Error haciendo login con contraseña encriptada crypt

Haciendo la prueba que me dices el resultlado que da creo que es el mismo que me daba antes dentro del if:

Código PHP:
Ver original
  1. if(isset($_POST["login"])){
  2.     $usuario = $_POST["usuario"];
  3.     $usuario = mysqli_real_escape_string($conexion, $usuario);
  4.  
  5.     $contrasena = $_POST["contrasena"];
  6.     $contrasena = mysqli_real_escape_string($conexion, $contrasena);
  7.  
  8.  
  9.     $hashFormat = "$2y$10$";
  10.     $salt = "iusesomecrazystrings22";
  11.     $hashF_and_salt = $hashFormat . $salt;
  12.    
  13.  
  14.     $query_password_e = "SELECT contrasena from usuarios ";
  15.     $query_password_e .= " WHERE usuario = '{$usuario}'";
  16.     $buscar_contrasena_e = mysqli_query($conexion, $query_password_e);
  17.    
  18.     if($fila = mysqli_fetch_array($buscar_contrasena_e))
  19.     {
  20.  
  21.         $db_contrasena = $fila['contrasena'];      
  22.         $input_password = crypt($contrasena, $hashF_and_salt);
  23.  
  24.         echo $input_password."<br>";
  25.         echo $db_contrasena."<br>";
  26.  
  27.         if($input_password == $db_contrasena){
  28.             echo $input_password."<br>";           
  29.             echo $db_contrasena."<br>";
  30.             echo "Coinciden<br>";
  31.         }
  32.         else{
  33.             echo $input_password."<br>";           
  34.             echo $db_contrasena."<br>";
  35.             echo "No coinciden<br>";
  36.         }
  37.  
  38.         if($input_password == $hashF_and_salt){
  39.             echo $input_password."<br>";
  40.             echo $hashF_and_salt."<br>";
  41.             echo $db_contrasena."<br>";
  42.             echo "Coinciden<br>";
  43.         }
  44.         else{
  45.             echo $input_password."<br>";
  46.             echo $hashF_and_salt."<br>";
  47.             echo $db_contrasena."<br>";
  48.             echo "No coinciden<br>";
  49.         }
  50.     }  
  51. }


Código PHP:
Ver original
  1. echo $input_password."<br>";
  2.         echo $db_contrasena."<br>";

Imprimen esto:
$2y$10$iusesomecrazystrings2uXsx3soVejCyS3zaEadMVL WICVz1nTfC
$2y$10$iusesomecrazystrings2uXsx3soVejCyS3zaEadMVL


Y los de dentro del if

Código PHP:
Ver original
  1. if($input_password == $db_contrasena){
  2.             echo $input_password."<br>";           
  3.             echo $db_contrasena."<br>";
  4.             echo "Coinciden<br>";
  5.         }
  6.         else{
  7.             echo $input_password."<br>";           
  8.             echo $db_contrasena."<br>";
  9.             echo "No coinciden<br>";
  10.         }

Imprimen esto:
$2y$10$iusesomecrazystrings2uXsx3soVejCyS3zaEadMVL WICVz1nTfC
$2y$10$iusesomecrazystrings2uXsx3soVejCyS3zaEadMVL
No coinciden


Gracias de nuevo.