Foros del Web » Programando para Internet » PHP »

Nueva contraseña

Estas en el tema de Nueva contraseña en el foro de PHP en Foros del Web. Al utilizar el md5 es imposible recuperar la contraseña, por eso he decidido que cada vez que un usuario olvide su contraseña le cree un ...
  #1 (permalink)  
Antiguo 22/09/2004, 12:50
Avatar de Fociños  
Fecha de Ingreso: marzo-2004
Ubicación: A Coruña
Mensajes: 587
Antigüedad: 13 años, 8 meses
Puntos: 0
Nueva contraseña

Al utilizar el md5 es imposible recuperar la contraseña, por eso he decidido que cada vez que un usuario olvide su contraseña le cree un conjunto de caracteres alfanuméricos como contraseña que se le envíen a su dirección de email.

¿Podrían decirme como crear un conjunto aleatorio de caracteres alfanuméricos?

Muchas gracias.
  #2 (permalink)  
Antiguo 23/09/2004, 02:50
Ex Colaborador
 
Fecha de Ingreso: junio-2002
Mensajes: 9.091
Antigüedad: 15 años, 5 meses
Puntos: 16
Hola,

Una forma rapida seria crear un array con todos los caracteres validos para la contraseña (incluidas las versiones en mayusculas de las letras), hacer un shuffle() del array, elegir un indice al azar y coger los x elementos del array a partir de ese indice.

Saludos.
__________________
Josemi

Aprendiz de mucho, maestro de poco.
  #3 (permalink)  
Antiguo 23/09/2004, 02:56
 
Fecha de Ingreso: junio-2004
Mensajes: 266
Antigüedad: 13 años, 5 meses
Puntos: 8
Para una password de 8 caracteres harias la llamada

Código PHP:
$password generarPassword(8); 
La funcion generarPassword sería:

Código PHP:
function generarPassword($longitud) {
     
$caracteres "abc...(etc)....890";
     
srand((double)microtime()*1000000);
     
$i 0;
    
     while (
$i<$longitud) {
          
$num rand() % 33;
          
$tmp substr($caracteres,$num,1);
          
$pass $pass.$tmp;
          
$i++;
     }
     return 
$pass;

__________________
WebSenior
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 22:45.