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 & $b And (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:

autogenerar claves y contraseñas php,generar automaticamente password,generar clave php,generar claves en php,generar contraseña automaticamente javascript,generar contraseña automaticamente php,generar password automaticamente php,generar un usuario automaticamente con php,hacer que genere una clave en php,PASSWORD EN PHP,password metodo php,php funcion generacion clave,php genera contraseña,php generar contraseñas,generador de password con php

Noticias relacionadas »

2 comentarios en funcion php generar password

  1. elvio
    / Responder

    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!

    • pedroventura
      / 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!

Deja un comentario

Tu dirección de correo electrónico no será publicada. Los campos obligatorios están marcados con *

Este sitio usa Akismet para reducir el spam. Aprende cómo se procesan los datos de tus comentarios.

Invertir en criptomonedas: »

 

Cómo comprar bitcoin

Invertir y comprar Bitcoin y otras altcoins es más fácil de lo que crees.

1) Si sólo quieres comprar Bitcoin, Ethereum o Litecoin como inversión, tu opción es Coinbase

2) Si quieres probar con otras criptomonedas tu opción es Binance

3) Cualquier duda escríbeme con total libertad al formulario de contacto para resolver dudas: https://www.pedroventura.com/contacto/

¡Comparte este artículo! »

  • Pedro (3 días)
    Buenos días Margherita El plugin está obsoleto y ya no…
  • Juan Carlos Díaz (4 días)
    Este grupo de Telegram me ha dado muy buenas señales…
  • Margherita (4 días)
    Hola, tengo un problema con el plugin. Tanto en la…
  • Pablo H (2 semanas)
    Hola Pedro, Muchas gracias por el post, me fue muy…
  • Pedro Ventura (3 semanas)
    Hola Margat Muchísimas gracias por tu comentario, me alegro de…
  • Pedro Ventura (3 semanas)
    Hola Rebeca, Tan sólo se permite 1 dominio por cuenta.…

Suscríbete al newsletter »

Proporciona tu correo electrónico a continuación y recibe las últimas noticias! Funciona con Feedburner de Google

Archivo »

Leer entrada anterior
empezando con html 5. Tutoriales, ejemplos y opiniones

Pues este es el primero post sobre html5 que escribo. La verdad que me ha dejado asombrado, había visto algo...

Cerrar