Ver Mensaje Individual
  #1 (permalink)  
Antiguo 21/08/2014, 12:28
Avatar de Middrel
Middrel
 
Fecha de Ingreso: abril-2005
Mensajes: 835
Antigüedad: 21 años, 6 meses
Puntos: 27
Duda con encriptación de contraseña

Hola, buenas tardes

Tengo una duda con respecto a encriptación, sin embargo, no sé si sea culpa del servidor donde tengo alojado mi sitio o es problema de mi código. Les explico:

Tengo el siguiente código para registrar usuarios con su contraseña

Código PHP:
if(isset($_POST['guardar'])){
    
    
$param01 = trim(mysqli_real_escape_string($connect, $_POST['nombre']));    // Obligatorio
    
$param02 = trim(mysqli_real_escape_string($connect, $_POST['user']));    // Obligatorio
    
$param03 = trim(mysqli_real_escape_string($connect, $_POST['pass']));    // Obligatorio
    
$param04 = trim(mysqli_real_escape_string($connect, $_POST['confirm']));// Obligatorio
    
$param05 = trim(mysqli_real_escape_string($connect, $_POST['nombre']));    // Obligatorio
    
$param06 = trim(mysqli_real_escape_string($connect, $_POST['email']));    // Obligatorio
    
$param07 = trim(mysqli_real_escape_string($connect, $_POST['modrev']));
    
$param08 = trim(mysqli_real_escape_string($connect, $_POST['modedi']));
    
$param09 = trim(mysqli_real_escape_string($connect, $_POST['moddis']));
    
$param10 = trim(mysqli_real_escape_string($connect, $_POST['modtem']));                                                                        
    
$param11 = trim(mysqli_real_escape_string($connect, $_POST['paramg']));
    
$param12 = trim(mysqli_real_escape_string($connect, $_POST['paramp']));

    
$crypt = crypt($param03, '$2a$07$vasto78try14perma09wq2$'); 
        
    
// Buscamos si el usuario existe en la base de datos
    
$sqlSelectUsuario = mysqli_query($connect, "Select usu_usuario, usu_correo from sys_usuarios Where usu_usuario = '$param02' and usu_correo = '$param06'");
    
$rowSelectUusario = mysqli_fetch_assoc($sqlSelectUsuario);
        
    
$param13 = $rowSelectUusario['usu_usuario'];
    
$param14 = $rowSelectUusario['usu_correo'];    

    
// Buscamos el id más alto
    
$sqlSelectMaxId = mysqli_query($connect, "Select MAX(id_usuario) as id_usuario from sys_usuarios");
    
$rowSelectMaxId = mysqli_fetch_assoc($sqlSelectMaxId);
        
    
$param15 = $rowSelectMaxId['id_usuario'] + 1;
    
$param16 = $_POST['ingreso'];
    
$param17 = trim(mysqli_real_escape_string($connect, $_POST['grupo']));
        
    
// Realizamos comparaciones he insertamos en la base de datos de sys_usuarios
    
if($param02 == $param13){ $mensaje = 'Ya existe un usuario con ese nombre. Favor de elegir otro.'; }    
    elseif(
$param06 == $param14){ $mensaje = 'El correo ya ha sido registrado previamente. Favor de elegir otro.'; }
    else{
        
        
$sqlInsertUsuarios = mysqli_query($connect, "Insert into sys_usuarios(usu_usuario, usu_password, usu_nombre, usu_correo, usu_config_grupo, usu_config_modulos, usu_config_visor, usu_ingreso) values('$param02', '$crypt', '$param01', '$param06', $param17, $param15, $param15, '$param16')");
    }
} 
Sin embargo, pasa lo siguiente:

Yo ingreso un usuario nuevo, con el nombre de usuario: admin y el password Xeel1425, al encriptar el usuario me lo guarda de esta forma en el servidor (proveedor de hosting): $2YRCde1ZQL.M

Sin embargo, cuando lo hago de forma local, me guarda el password de esta forma: $2a$07$vasto78try14perma09wquXPqEj0Y78Btn3wSMRH1gr obBHaM.t9S

Cuando trato de ingresar por mi usuario y contraseña, de forma local funciona muy bien, sin embargo cuando lo hago por medio del servidor no me es posible, me da la impresión de que en el servidor no está funcionando correctamente el método de encriptación, bueno eso creo yo.

Mi pregunta es, ¿el error estará de mi lado?¿o es por parte del servidor?

De antemano, agradezco por sus comentarios.

Saludos!!!