Foros del Web » Programando para Internet » PHP »

String Al Azar

Estas en el tema de String Al Azar en el foro de PHP en Foros del Web. Hola Quisiera saber cuales funciones usar para crear un string de numeros y letras al azar para asì hacer un sistema que cree contraseñas automaticamente. ...
  #1 (permalink)  
Antiguo 04/06/2003, 00:35
 
Fecha de Ingreso: agosto-2002
Mensajes: 66
Antigüedad: 21 años, 8 meses
Puntos: 0
String Al Azar

Hola

Quisiera saber cuales funciones usar para crear un string de numeros y letras al azar para asì hacer un sistema que cree contraseñas automaticamente.

¡GRACIAS!
  #2 (permalink)  
Antiguo 04/06/2003, 03:05
Avatar de epplestun  
Fecha de Ingreso: octubre-2001
Mensajes: 1.621
Antigüedad: 22 años, 5 meses
Puntos: 5
Asi a groso modo podrias calcular el hash de un time() jeje es decir hacer algo asi:

Código PHP:

function generarPassword()
{
return 
md5(time());

De esa manera generaras contraseñas aleatorias :D

Basandome en lo que te habia dicho jeje e heco esta otra funcion jeje es una chorrada pero para k veas lo que se puede hacer:

Código PHP:
function generarPassword($num "8"$M "0")
{
    if(
$num 32)
    {
        
$num 32;
    }
    
$pass md5(time());
    
$pass substr($pass0$num);
    
$pass $M strtoupper($pass) : $pass;
    return 
$pass;
}

echo 
generarPassword(rand(4,32), 0); 
Te explico ahora:

La funcion tiene dos parametros $num, el numero de caracteres que quieres que tenga el password, por defecto 8, y $M, si es 1 te pondra el pass en mayusculas y si es cero en minuscula.

Como el hash de md5() usa 32 Bits y genera hashs de 32 caracteres el numero máximo de caracteres a sacar es 32 por lo cual si $num es mayor que 32 le daremos el valor maximo.

Luego generamos el pass como antes md5(time()), luego cojemos los caracteres que nosotros queremos, y por ultimo pasamos a mayuscula o no segun el segundo parametro y devolvemos el valor.

como ves para que sea mas aleatorio aun dentrode la misma funcion ponemos la posibilidad de generar pass de entre 4 y 32 caracteres
__________________
Usuario registrado de Linux #288725
  #3 (permalink)  
Antiguo 04/06/2003, 04:26
Ex Colaborador
 
Fecha de Ingreso: junio-2002
Mensajes: 9.091
Antigüedad: 21 años, 10 meses
Puntos: 16
Hola,

Para ser mas purista, $M tendria que ser booleano y pasarle true o false (sin comillas) y darle por defecto $M=false .

Y tambien podrias usar uniqid() en lugar de time() para crear el hash MD5.

Saludos.

PD: El hash MD5 son 128 bits y 32 caracteres hexadecimales.
__________________
Josemi

Aprendiz de mucho, maestro de poco.
  #4 (permalink)  
Antiguo 04/06/2003, 04:28
Avatar de epplestun  
Fecha de Ingreso: octubre-2001
Mensajes: 1.621
Antigüedad: 22 años, 5 meses
Puntos: 5
Claro :D pero para hacerlo al vuelo .... jeje pekeños fallitos la cuestion es la idea ;)
__________________
Usuario registrado de Linux #288725
  #5 (permalink)  
Antiguo 09/02/2007, 10:32
Avatar de Celcius  
Fecha de Ingreso: febrero-2003
Ubicación: Lima - Perú
Mensajes: 652
Antigüedad: 21 años, 2 meses
Puntos: 5
Re: String Al Azar

Muy bueno!
__________________
"Si tú conocieras el don de Dios, y quién es el que te dice: 'Dame de beber,' tú Le habrías pedido a El, y El te hubiera dado agua viva.
Sn. Juan 4:19
Jesus
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 21:51.