Foros del Web » Programando para Internet » PHP »

Rutina para cambiar contraseña

Estas en el tema de Rutina para cambiar contraseña en el foro de PHP en Foros del Web. Hola a todos, tengo una pregunta que creo es sencilla pero por mi poca experiencia no he podido desarrollarla... necesito una rutina que cambie la ...
  #1 (permalink)  
Antiguo 30/10/2005, 03:11
 
Fecha de Ingreso: octubre-2003
Mensajes: 12
Antigüedad: 20 años, 6 meses
Puntos: 0
Sonrisa Rutina para cambiar contraseña

Hola a todos, tengo una pregunta que creo es sencilla pero por mi poca experiencia no he podido desarrollarla...

necesito una rutina que cambie la contraseña (password) de los usuarios guardados en mysql por medio de un formulario previamente creado, las contraseñas estan encriptadas con MD5...

alguien tendria algun ejemplo...

de antemano muchas gracias a todos y hasta siempre...
  #2 (permalink)  
Antiguo 30/10/2005, 06:01
 
Fecha de Ingreso: mayo-2003
Mensajes: 527
Antigüedad: 20 años, 10 meses
Puntos: 3
Te refieres a una parte de código que permita a cada usuario cambiar su contraseña? Si es así, el algoritmo a implementar sería:
1- Obtener por formulario el login y la contraseña actual del usuario, y en otros dos campos la nueva contraseña repetida (que hay que validar que sea la misma exactamente).
2- Hacer una consulta para obtener el registro que contiene como nombre de usuario (o login) el proporcionado por el campo login. Y a partir del registro obtenido, extraes la cadena del campo contraseña.
2- La contraseña nueva enviada se encripta con md5() y se compara dicha cadena obtenida con la cadena que has obtenido de la BD, que tb está encriptada con MD5.
3- Si coinciden las cadenas, el usuario es válido, y puedes hacer una inserción con MySQL en el campo contraseña con la contraseña nueva ya encriptada.

Como nota, decirte que MD5 es un encriptador hash, irreversible. No hay forma de obtener las contraseñas a partir de la cadena hash. Así que para realizar el cambio no hay más remedio que hacer que el usuario reintroduzca su contraseña, encriptarla, comparar con el hash de la antigua, y si ambas cadenas son iguales, introducir la nueva encriptándola también.
  #3 (permalink)  
Antiguo 30/10/2005, 08:40
 
Fecha de Ingreso: febrero-2005
Mensajes: 867
Antigüedad: 19 años, 2 meses
Puntos: 3
si pero el objetivo es si el usuario se olvido de su contraseña como haria
  #4 (permalink)  
Antiguo 30/10/2005, 08:44
 
Fecha de Ingreso: febrero-2005
Mensajes: 867
Antigüedad: 19 años, 2 meses
Puntos: 3
ah para que motivo y porque y que diferencia hay encristar la password md5
que ventaja tengo
  #5 (permalink)  
Antiguo 30/10/2005, 10:24
 
Fecha de Ingreso: mayo-2003
Mensajes: 527
Antigüedad: 20 años, 10 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.
  #6 (permalink)  
Antiguo 30/10/2005, 11:31
 
Fecha de Ingreso: febrero-2005
Mensajes: 867
Antigüedad: 19 años, 2 meses
Puntos: 3
excelente muy bien leer el caso de si el usuario se le olvida su pass
  #7 (permalink)  
Antiguo 30/10/2005, 12:23
 
Fecha de Ingreso: octubre-2003
Mensajes: 12
Antigüedad: 20 años, 6 meses
Puntos: 0
Pregunta Cambiar contraseña...

En efecto, lo que se necesita es que cada usuario pueda cambiar su contraseña desde un formulario...

tu algoritmo me parece muy bien, pero, tendrias algun ejemplo escrito funcionando, por que ya he intentado algo parecido y no he podido hacer que se cambie la contraseña, o alguna pagina que contenga un script...

gracias y hasta siempre...
  #8 (permalink)  
Antiguo 30/10/2005, 19:50
 
Fecha de Ingreso: febrero-2005
Mensajes: 867
Antigüedad: 19 años, 2 meses
Puntos: 3
si es asi lo mejor es que le saque el md5() osea no encristar la pass y que se ingrese en modo texto me parece que seria la unica solucion
  #9 (permalink)  
Antiguo 30/10/2005, 20:08
Avatar de helthon  
Fecha de Ingreso: junio-2005
Ubicación: Lima
Mensajes: 549
Antigüedad: 18 años, 10 meses
Puntos: 7
De acuerdo Ya esta resuelto esoo

Facil Coyote ese problema ya esta resuelto solo mira todo el post y te daras cuenta
http://www.forosdelweb.com/showthrea...r+Contrase%F1a

Gracias al amigo jpinedo k lo resolvio

Solo que a mi me sale este error y no logro aun saberlo, es al momento de enviar el email :
Error :
Cita:
Parse error: parse error, unexpected T_ENCAPSED_AND_WHITESPACE, expecting T_STRING or T_VARIABLE or T_NUM_STRING in /home/creativa/public_html/admin/claverepuesta.php on line 23
codigo:

Código PHP:
$nuevopass 'ar3qzp';
    
$sql "UPDATE usuarios SET pass = '$nuevopass' WHERE email='".$_POST['email']."'"
    
mysql_query($sql) or die("error en <b>$sql</b> :::"mysql_error()); 
    if(
mysql_affected_rows() == 1)
    {
    
mail ("$_POST['email']""nuevo password""su nuevo password es: $nuevopass"); 
    echo
'clave verdadera <br> ';
    } 
El erro es en : mail ("$_POST['email']", "nuevo password", "su nuevo password es: $nuevopass");

Haber si me ayudan

Se los agradeceree

Bye
__________________
HELTHON FUENTES
FLORERIA FLORES PERU Floresperu.com.pe
Garantizamos que cada entrega de flores será de la más alta calidad y frescura
  #10 (permalink)  
Antiguo 31/10/2005, 13:38
Avatar de helthon  
Fecha de Ingreso: junio-2005
Ubicación: Lima
Mensajes: 549
Antigüedad: 18 años, 10 meses
Puntos: 7
Algun comentario
__________________
HELTHON FUENTES
FLORERIA FLORES PERU Floresperu.com.pe
Garantizamos que cada entrega de flores será de la más alta calidad y frescura
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 14:26.