Mira, a ver si entendi... tu debes tener 2 rutinas, una que cambie el password del usuario, y otra que sirva de login al usuario. Ambas rutinas van a utilizar el valor almacenado en tu base de datos. Ahora:
Veo dos opciones posibles :
1) que en tu base de datos guardes la cadena original del password, y al iniciar sesion conviertas dinamicamente a md5 la cadena. como funciona esto ?
tu lees el password de tu base de datos, supongamos que lo tienes en una variable llamada password, vamos a suponer que el valor es "camelia", ahora, tienes en otra variable (posiblemente del POST o del GET lo que el usuario ha introducido en el textbox, digamos que eso lo tienes en una variable $password_textbox. lo unico que tienes que hacer es comparar ambas cadenas convirtiendolas antes a MD5
Cita: //$password = "camelia"
if (md5($password) === md5($password_textbox)) {
//el usuario ha tecleado correctamente su contraseña...
}
else {
//el usuario ha tecleado una contraseña erronea
}
2) la segunda opcion es que en tu base de datos el password no tenga el valor original, sino el valor codificado en MD5, en este caso una cadena de 32 caracteres inentendible : 78uYTythghTThb7553.....
en este caso, cuando recibas el valor introducido del usuario, solo necesitas convertir a md5 esa variable, ya que la variable de la base de datos ya esta en codigo md5.
Cita: if ($password === md5($password_textbox)) {
//el usuario ha tecleado correctamente su contraseña...
}
else {
//el usuario ha tecleado una contraseña erronea
}
pero, entonces, tu rutina de cambio de password debe codificar a md5 el valor antes d guardarlo en la base de datos, es decir, antes de guardar en la base de datos, haz esto :
Cita: $password = md5($password);
saludos.