P: ¿Como genero un password?
Para generar un password aleatorio de forma rápida podemos usar las funciones md5() junto con rand() tal como sigue.
Código PHP:
$caracteres = 8; // numero de caracteres a visualizar
$random_pass = substr(md5(rand()),0,$caracteres);
echo $random_pass ; // imprime el password
P: ¿Como genero un password facil de memorizar?
Primero habría que definir el concepto 'fàcil de memorizar', yo entiendo por facil
ajikomufi y no
jkimlhidt. Este sencillo escript genera un a cadena de caracteres formados por vocal consonante vocal o consonante vocal consonante, de este modo el password es leible y como consecuencia, fácil de memorizar.
Ahí va la función, la cual debería estar al inicio de todo de vuestra página junto con las demás funciones definidas.
Código PHP:
function f_genera_psw($num=8){ // By Kernellover
$voc = array ("a","e","i","o","u");
$con = array ("b","c","d","f","g","h","j","k","l","m","n","ñ","p","q","r","s","t","w","x","y","z");
$psw = ""; // cadena que contendrá el password.
$vc = mt_rand(0,1); // definde si empieza por vocal o consonante.
for ($n=0; $n<$num; $n++){
if ($vc==1){
$vc=0;
$psw .= $con[mt_rand(0,count($con)-1)];
}
$psw .= $voc[mt_rand(0,count($voc)-1)];
$psw .= $con[mt_rand(0,count($con)-1)];
}
$psw = ereg_replace ("q","qu",$psw);
$psw = ereg_replace ("quu","que",$psw);
$psw = ereg_replace ("yi","ya",$psw);
$psw = ereg_replace ("iy","ay",$psw);
$psw = substr($psw,0,$num);
return $psw;
}
Para llamar a la función se puede hacer así, saliendo impresos 8 caracteres (por defecto)
Código PHP:
echo f_genera_psw(); // imprime el password (8 caracteres por defecto)
Para poner otra cantidad distinta de caracteres, solo hay que pasarlo como parametro así.
Código PHP:
echo f_genera_psw(6); // imprime 6 caracteres de password
Espero que os sea de utilidad esta función que he creado.
Suerte!