PHP:¿Cómo genero un password fácil de memorizar?
De Foros del Web
Primero habría que definir el concepto 'fácil de memorizar', yo entiendo por fácil 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, sólo hay que pasarlo como parámetro así.
Código PHP:
echo f_genera_psw(6); // imprime 6 caracteres de password
--Kernellover 17 Set 2003
Este artículo es parte de las FAQs de PHP y el Manual de PHP.
- Indice de las FAQs: Conceptos, Configuración, Formularios, Manejo de Archivos, Integración con Bases de Datos, Sesiones, Extensiones y Librerías, Seguridad, Funciones, Clases y Objetos, Frameworks
- Recomendamos también: Guía Zend, Frameworks PHP, Aceleradores PHP
- Agregar al FAQ: PHP: Instrucciones para agregar una pregunta al FAQ de PHP
- Para preguntas sobre PHP: Foro de Php
