Foros del Web » Programando para Internet » PHP »

Duda con uso de md5

Estas en el tema de Duda con uso de md5 en el foro de PHP en Foros del Web. Hola a todos Estoy realizando un sistema de autentificación en la cual el visitante, ingresa un usuario y clave. Para el manejo de la clave ...
  #1 (permalink)  
Antiguo 26/10/2004, 14:10
 
Fecha de Ingreso: febrero-2004
Ubicación: Guayaquil
Mensajes: 110
Antigüedad: 20 años, 9 meses
Puntos: 0
Duda con uso de md5

Hola a todos

Estoy realizando un sistema de autentificación en la cual el visitante, ingresa un usuario y clave.
Para el manejo de la clave empleo la función md5,y este valor se almacena en una tabla de mi BD.
Pero mi consulta es
¿cómo puedo regresar al valor que fue ingresado al usuario, el campo de la tabla en la cual está la clave que ha pasado por la función md5??

o acaso md5 es de una sola via y no permite devolver la cadena a su forma original.??

Además, vuelvo a molestar con algo:
Cómo evito que cuando almaceno información en un campo, los caracteres: ",',- se me transformen en signos de interrogración (?).......

Gracias por su ayuda
  #2 (permalink)  
Antiguo 26/10/2004, 14:17
 
Fecha de Ingreso: octubre-2004
Mensajes: 21
Antigüedad: 20 años, 1 mes
Puntos: 1
Olvídate de desencriptar el md5 xDD

Lo que tienes que hacer es, cuando un usuario se logee, hacer la comparación de la clave encriptada de la base de datos con una variable que tendrá la clave que ha introducido el usuario para logearse previamente encriptada de nuevo.

Más o menos esto:

//Llamadas para coger la clave encriptada de la BD
$clave_de_BD=mysql_result(TAL TAL TAL)//Lo que sea, ahora no macuerdo xD

$clave_login=$_GET['clave'];

if(md5($clave_login)==$clave_de_BD)
echo "Palante";
else
echo "Ande vas?";


¿Se ha entendido?

;)

Última edición por ouyeah; 26/10/2004 a las 14:18
  #3 (permalink)  
Antiguo 26/10/2004, 14:19
 
Fecha de Ingreso: septiembre-2001
Mensajes: 552
Antigüedad: 23 años, 2 meses
Puntos: 0
Que tal,

Efectivamente MD5 es de un solo sentido, los sitios que utilizan este algoritmo cuando un usuario olvida su password, asignan uno nuevo en vez de regresar el mismo password que olvidó.

Saludos,
  #4 (permalink)  
Antiguo 26/10/2004, 14:28
 
Fecha de Ingreso: febrero-2004
Ubicación: Guayaquil
Mensajes: 110
Antigüedad: 20 años, 9 meses
Puntos: 0
Ok, sus respuestas han sido acertadas, pero ouyeah, podrías ser tan amable de explicar un poquitín más al detalle lo que escribistes (disculpa la molestia)...

Tal vez me ayudarían indicandome cual método se podría emplear para encriptar las claves de los usuarios??

Otra vez muchas gracias
  #5 (permalink)  
Antiguo 26/10/2004, 14:45
 
Fecha de Ingreso: octubre-2004
Mensajes: 21
Antigüedad: 20 años, 1 mes
Puntos: 1
Para meter a un usuario en la BD sería simplemente:

//Cojo las variables del formulario desde el que se registra
$user = $_POST['nombre'];
$pass = md5($_POST['pass']);//se encripta la clave con md5

//Se introduce (en el ejemplo sólo nombre y user, deberían meterse más datos... identificativos)
$sql="Insert into users values (0, '$user','$pass');//el 0 es por el id autoincremental
$rs=mysql_query($sql);//ejecutamos la sentencia sql
__________________________________________________ _________
Para comprobar que un usuario existe en la BD:

//Cojo las variables del formulario desde el que se logea
$user = $_POST['nombre'];
$pass = md5($_POST['pass']);//se encripta la clave con md5

//Verificar que el usuario existe
$sql="SELECT * FROM users WHERE user= '".$user."' AND pass = '".$pass."'";
$rs=mysql_query($sql);//ejecutamos la sentencia sql
$n=mysql_num_rows($rs);//vemos el número de filas con ese nombre y pass

if ($n==1)//Si existe una fila, existe el usuario
echo "Logedo";
else
echo "El usuario no existe";



PD: No veas lo fácil que es y lo que he tardao en ponerlo xD

;)
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 13:11.