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.

[code lang=”PHP”]
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;
}
[/code]

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

[code lang=”PHP”]
if ($fuerza & 1) {}
[/code]

Otro artículo de Interés:  Ataques XSS, como prevenirlos en PHP

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 ==

2 comentarios en «funcion php generar password»

  1. Hola, estoy comenzando a escarbar en el mundo del php y encontré este post.
    Cómo debo hacer para insertar este script para que funcione en un sitio creado en wordpress. Me gustaría incluirlo junto a los metaboxes para generar un password para cada post.
    Es posible?
    Muchas gracias!

    Responder
    • Hola,

      WordPress trae una funcionalidad integrada para proteger artículos con contraseña, no necesitas hacer nada nuevo.

      De hecho, si quieres agregar algo extra, te recomiendo que busques e integres un plugin http://wordpress.org/extend/plugins/. Cuando tengas más conocimientos de PHP y POO ya te puedes meter a tocar código en WordPress.

      Un saludo!

      Responder

Deja un comentario

Enable Notifications    Ok No thanks