30
Hoy en día la funcion md5 es la más usada ya que el hash devuelto consiste en una cadena de 32 números en formato hexadecimal, este método es irreversible por lo cual si estamos desarrollando una aplicación web la cual integre un sistema de usuarios tendríamos añadir la opción de que un usuario pueda resetear su contraseña si lo olvida alguna vez.
Este proceso es sencillo, existen varias maneras la más común es pedirle al usuario su email de registro mediante un formulario el cual verificara si existe dicho email en la db luego se enviara un mensaje de verificación el cual si lo acepta automáticamente se genera una contraseña aleatoria y se envía al email correspondiente.
Hay innumerables formas de generar contraseñas aleatorias, yo he tratado de construir una función que me satisface dicho requerimiento.
function random_pwd($length=5,$mode='alfa'){
switch ($mode):
case "alfa":
$source = 'abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ';
break;
case "int":
$source = '1234567890';
break;
case "extra":
$source = '|@#~$%()=^*+[]{}-_';
break;
case "all":
$source = 'abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ1234567890|@#~$%()=^*+[]{}-_';
break;
default:
$source = 'abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ';
break;
endswitch;
if($length>0){
$rstr = "";
$source = str_split($source,1);
for($i=1; $i< =$length; $i++){
mt_srand((double)microtime() * 1000000);
$num = mt_rand(1,count($source));
$rstr .= $source[$num-1];
}
}
return $rstr;
}
echo random_pwd(10,'all');
//salida aleatoria : RJ}JwFdC%C
Si observan esta funcion nos da la posibilidad de generar una contraseña dependiendo de cuantos caracteres necesitamos o vemos que sea necesario y la opción de personalizar el tipo de caracteres que tendrá nuestra contraseña mediante los siguientes parámetros.


















¿Te gusto la noticia? Dejanos tu comentario
1 Sitio(s) que enlazan a esta noticia
30 Septiembre, 2008 a las 10:23 am