Ver Mensaje Individual
  #5 (permalink)  
Antiguo 30/10/2005, 10:24
Tigervlc
 
Fecha de Ingreso: mayo-2003
Mensajes: 527
Antigüedad: 21 años, 5 meses
Puntos: 3
Bueno, evidentemente encriptando con la función hash md5(), si un usuario olvida su contraseña, no es posible hacer eso de enviar la dirección de correo electrónico para que se le reenvíe allí su password olvidado, ya que MD5 es un encriptador unidireccional o irreversible, no desencripta. No es posible recuperar la contraseña a partir de la cadena hash que se obtiene haciendo md5('mipassword');

Para poder hacer un servicio de recuperación de contraseñas olvidadas supongo que lo mejor es usar un encriptador reversible como mcrypt:
http://es.php.net/manual/es/ref.mcrypt.php

Yo creo que la ventaja de MD5, SHA1 y otros encriptadores irreversibles es que aumenta la seguridad, ya que en caso de que un hacker capturase el envío de un paquete conteniendo el hash, no habría forma alguna de descifrarlo, al menos para la gran mayoría de hackers. El uso de ese tipo de encriptadores es comparar el hash de la contraseña enviada con el hash de la almacenada. Como para cualquier palabra o combinación alfanumérica, una función hash siempre da como resultado la misma cadena exactamente, de 40, 32 caracteres, etc, dependiendo de la función usada, si uno envía la contraseña válida, el hash o cadena de caracteres obtenido coincidirá plenamente con el almacenado. Por eso se usa para contrastar contraseñas.