funcion php generar password

funcion php generar password

El siguiente script es una función en php que genera nuevos password aleatoriamente automaticamente basándose en una serie de patrones tales como la longitud y la fuerza, ésta no es mas que la complejidad de la password que viene dada por si la password contiene consonantes en mayúsculas, vocales en mayúsculas, números y algunos caracteres especiales como el % o el $

A la función de generar password se le pasan 2 parámetros la longitud y la fuerza como he explicado antes. Devuelve el password que se genera automáticamente y de manera aleatorio entre una serie de carácteres.

Los parámetros que yo uso son 9 y 4 respectivamente. Es decir que voy a generar una password de 9 caracteres de longitud y que va a contener consonantes y vocales en mayúsculas y números.

Una vez que se asignan los parámetros que se van a usar el script de generar password simplemente va seleccionando caracteres alternativamente entre el string de vocales y el de consonantes.

Esta aplicación es muy útil y necesaria en el típico formulario de recordar contraseña que hay en casi todos los sites.

function NuevoPassword($longitud,$fuerza)
  {
        $vocales = 'aeiouy';
        $consonantes = 'bcdfghjklmnpqrstvwxz';
        if ($fuerza & 1)
        {
            $consonantes .= 'BDGHJLMNPQRSTVWXZ';
        }
        if ($fuerza & 2)
        {
            $vocales .= "AEUY";
        }
        if ($fuerza & 4)
        {
            $consonantes .= '23456789';
        }
        if ($fuerza & 8 )
        {
            $consonantes .= '@#$%';
        }

        $password = '';
        $alt = time() % 2;
        for ($i = 0; $i < $longitud; $i++)
        {
            if ($alt == 1)
            {
                $password .= $consonantes[(rand() % strlen($consonantes))];
                $alt = 0;
            }
            else
            {
                $password .= $vocales[(rand() % strlen($vocales))];
                $alt = 1;
            }
        }

        return $password;
    }

En la función estoy usando un operador bit a bit del tipo

if ($fuerza & 1) {}

Que quiere decir lo siguiente

$a & $bAnd (y)Los bits que están activos en ambos $a y $b son activados.

También se podría haber usado con total normalidad del operador de comparación ==

Tags de búsquedas:

funcion password script genera windows

Posts Relacionados:


Te ha ayudado el artículo? Colabora!

0 comentario/s

Comentar

Deja tu comentario

Nombre:

Email (no será publicado)

Website

Comentario

Colabora, añade +1 a mi blog!!