Pues .. yo uso esta funcioncita que usa expresiones regulares de una forma "curiosa" (por lo menos para mí xD) para generar "passwords" tanto numéricos como alfanuméricos de longitud variable ...
Código PHP:
<?php
// Uso/sintax:
// genera_password (longitud password en caracteres o digitos, [tipo=alfanumerico|numerico])
// Si no indicas $tipo se asume como por defecto alfanumerico.
function genera_password($longitud,$tipo="alfanumerico"){
if ($tipo=="alfanumerico"){
$exp_reg="[^A-Z0-9]";
} elseif ($tipo=="numerico"){
$exp_reg="[^0-9]";
}
return substr(eregi_replace($exp_reg, "", md5(time())) .
eregi_replace($exp_reg, "", md5(time())) .
eregi_replace($exp_reg, "", md5(time())),
0, $longitud);
}
//Ejemplo:
echo "Password: (alfanumérico) ".genera_password(8)."<br>";
echo "Password: (numérico) ".genera_password(15,"numerico")."<br>";
echo "(recarga la página para ver otros passwords aleatorios)";
?>
Un saludo,
pd: La forma de usar las expresiones regulares no la implementé yo .. Tan sólo lo adapté para funcionar como "función". No recuerdo de donde la saqué.
pd2: .. Lo subí a las FAQ's de este foro para que quede constancia xDD..