Foros del Web » Programando para Internet » PHP »

Problemas con contraseñas

Estas en el tema de Problemas con contraseñas en el foro de PHP en Foros del Web. Buenas, Estoy comenzando una aplicacion con PHP y como es lógico, almaceno una contraseña en la base de datos (MySQL). Mi problema viene cuando voy ...
  #1 (permalink)  
Antiguo 12/02/2009, 13:07
 
Fecha de Ingreso: febrero-2009
Mensajes: 7
Antigüedad: 15 años, 2 meses
Puntos: 0
Problemas con contraseñas

Buenas,
Estoy comenzando una aplicacion con PHP y como es lógico, almaceno una contraseña en la base de datos (MySQL). Mi problema viene cuando voy a loguearme, pues la contraseña que me devuelve la base de datos es distinta a la que yo le proporciono por el logueo (ambas cifradas por sha1).

¿Alguien podría ayudarme?
  #2 (permalink)  
Antiguo 12/02/2009, 13:17
Avatar de GatorV
$this->role('moderador');
 
Fecha de Ingreso: mayo-2006
Ubicación: /home/ams/
Mensajes: 38.567
Antigüedad: 17 años, 11 meses
Puntos: 2135
Respuesta: Problemas con contraseñas

Pues su pones el código y como lo estas usando es mejor que te podamos ayudar.

Saludos
  #3 (permalink)  
Antiguo 12/02/2009, 13:23
Avatar de hgp147  
Fecha de Ingreso: diciembre-2006
Ubicación: Buenos Aires, Argentina
Mensajes: 980
Antigüedad: 17 años, 3 meses
Puntos: 36
Respuesta: Problemas con contraseñas

Revisa si el tamaño del campo donde guardas la contraseña con sha1 en la db tiene por lo menos 40 caracteres de tamaño
__________________
Spread Firefox | Download Day 2008
¡Únete en nuestra misión para alcanzar el Record Guinness al software más descargado en 24 horas! http://www.spreadfirefox.com/es-ES/worldrecord/
  #4 (permalink)  
Antiguo 12/02/2009, 13:40
 
Fecha de Ingreso: febrero-2009
Mensajes: 7
Antigüedad: 15 años, 2 meses
Puntos: 0
Respuesta: Problemas con contraseñas

A ver, el codigo esta a cachitos...

Una vez capturada la contraseña en el formulario de registro la cifro:

Código PHP:
$pass=sha1($_POST["password"]); 
Luego se almacena en una base de datos mysql donde al campo passwod se le ha dado el tipo varchar(40)

La consulta que introduce los valores en la base de datos despues de conectarla correctamente

Código PHP:
function insertar_datos_usuario ($link$nick$pass$mail) {
           
$query "insert into usuario (id_usuario, password, mail) values ('$nick', '$pass', '$mail')";
        
$result mysql_query($query,$link);
        if (
$result==false) {
            
printf ("Error de escritura en la BD: ".mysql_error());
            die(); 
        }
        return 
$result
Aquí terminaría el registro. Luego cuando el usuario ya registrado se quiere loguear tendrá que meter la contraseña en un formulario para compararla con la de la base de datos. Para eso convertimos la contraseña en sha1 antes de compararla con la de la base de datos.

Código PHP:
$pass=sha1($_POST["password"]); 
Esta es la consulta que me devuelve el password de la base de datos para comprobarlo con el introducido:
Código PHP:
function consulta_password ($nick$link) {
        
$query "select password from usuario where id_usuario='$nick'";
        
$result mysql_query($query$link);
        if (
$result==false) {
            
printf ("Error de lectura en la BD: ".mysql_error());
            die();
        }
        return 
$result;
    } 
Luego extraemos de $result la contraseña

Código PHP:
function extrae_pass ($nick) {
        
$link conectar();
        
$result consulta_password ($nick$link);
        
$pass mysql_fetch_row($result);
        
desconectar ($link);
        return 
$pass[0];
    } 
Y por ultimo las comparas:
Código PHP:
function comprobar_password ($pass1$pass2) {
        
$resultado true;
        if (
$pass1=="" || strcmp($pass1$pass2)!=0) { 
            
$resultado false;
        }    
        return 
$resultado;
    } 
  #5 (permalink)  
Antiguo 13/02/2009, 22:38
Avatar de yobain  
Fecha de Ingreso: febrero-2009
Ubicación: Mérida
Mensajes: 25
Antigüedad: 15 años, 2 meses
Puntos: 1
Sonrisa Respuesta: Problemas con contraseñas

por que no usas el encriptado

md5($tucontrasnia)

un saludo
  #6 (permalink)  
Antiguo 13/02/2009, 22:42
Avatar de acoevil  
Fecha de Ingreso: julio-2008
Ubicación: localhost/colombia/sevillaValle.php
Mensajes: 1.123
Antigüedad: 15 años, 8 meses
Puntos: 32
Respuesta: Problemas con contraseñas

Yo tambien utlizo sha1 lo primero registro al usuario y le encripto la contrasena en sha1 despues para el logueo lo que hago es recoger la contrasena que el usuario me digito y convertirla a sha1 y realizo la consulta respectivamente
  #7 (permalink)  
Antiguo 21/02/2009, 05:33
 
Fecha de Ingreso: febrero-2009
Mensajes: 7
Antigüedad: 15 años, 2 meses
Puntos: 0
Respuesta: Problemas con contraseñas

Gracias a todos, al final era un problema de otro lado, al coger la contraseña
Atención: Estás leyendo un tema que no tiene actividad desde hace más de 6 MESES, te recomendamos abrir un Nuevo tema en lugar de responder al actual.
Respuesta




La zona horaria es GMT -6. Ahora son las 17:16.