Cómo hacer un generador de contraseñas aleatorias en PHP - Trucos Del PC

Breaking

Post Top Ad

Post Top Ad

martes, 1 de diciembre de 2020

Cómo hacer un generador de contraseñas aleatorias en PHP

 


Habiendo aprendido ya algunas cosas básicas, como autentificación y registro de usuarios, hoy haremos una nueva inmersión en el maravilloso y enredado mundo de PHP.

Lo que haremos será crear un generador de contraseñas aleatorias y darle un poco de estilo para que lo insertemos en nuestros Sitios Web o donde sea que lo necesitemos.

Como siempre, todo el detalle y explicación, después del salto.

Cómo hacer un generador de contraseñas aleatorias en PHP

Para empezar, lo clásico:

Implementos necesarios:

  1. Un editor Web que soporte PHP, para este caso utilizaremos Adobe Dreamweaver CS3.

Con esa enorme lista de materiales lista, vamos al procedimiento:

Procedimiento:

Básicamente lo que haremos hoy consta de 2 pasos, crearemos una código que genere contraseñas aleatoriamente y además un botón para llamar a este código mediante autollamado de página junto con un campo de texto que presentará el resultado, así que vamos a la acción:

1.- Lo primero que haremos será crear un nuevo documento de tipo PHP en Dreamweaver y la llamaremos “generaclave.php”.

2.- Luego, haremos un pequeño formulario, el cual contendrá un campo de texto llamado “clave”, un botón que tenga el texto “Generar Contraseña”, y en action llamaremos a la misma página, o sea, “generaclave.php”. Al terminar, deberíamos tener algo como esto:

Formulario

Propiedades del formulario – Click para agrandar

3.- Con nuestro formulario creado, ahora empezaremos a insertar el código PHP que hará la operación. Lo primero que haremos, será insertar antes del comienzo del formulario (en vista de código), el siguiente código:

<?

if(!_$POST)

{

/* Aquí le decimos al interprete “Si no se ha presionado el botón, entonces muestre …” */

?>

Inmediatamente después de eso, insertaremos el código correspondiente a nuestro formulario (así, si no se ha presionado el botón “Generar contraseña” se mostrará el formulario en blanco), y justo después de eso, insertamos este código:

<?

/* Este código dice “En caso contrario, si se ha presionado el botón Generar Contraseña, entonces haga lo siguiente … “

}

else

{

$fuente=”ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789″;

/* Declaramos una variable $fuente la cual contiene todas las letras en mayúscula, minúscula y los números del 0 al 9 */

$clave = “”;

/* Luego declaramos la variable $clave, la cual contendrá la contraseña que generemos, pero partirá en blanco */

for($i=0;$i<8;$i++)

{

/* Luego hacemos un ciclo o bùcle de tipo for, el cual ejecutará su contenido mientras nuestra variable i (que parte en 0) sea menor a 8 (el largo de las contraseñas que generemos), aumentando el valor de i de uno en uno */

$clave .= substr($fuente,rand(0,61),1);

/* Dentro de nuestra variable clave iremos concatenando (uniendo), el resultado de la función substr, la cual tanto en PHP como en otros lenguajes, se encarga de hacer una ‘sub-cadena’ a partir de una cadena determinada (en este caso $fuente, que es la variable que contiene todas las letras y números). Esta función utiliza los siguientes parametros:

substr(cadena de caracteres, posición inicial, largo de la extracción)

En este caso, nuestra cadena de caracteres será la variable $fuente, nuestra posición inicial sera una posición al azar creada con la función rand, la cual busca un número al azar entre 2 valores (en este caso 0 y 61, las posiciones iniciales y finales de las letras o números almacenados en $fuente) y el largo de la extracción será 1, o sea, equivalente a una letra o número.

Toda esta operación se repetirá 8 veces, y cada letra o número que se extraiga se irá uniendo a las anteriores dentro de la variable $clave.*/

}

/* A continuación, presentamos nuevamente el formulario, pero con una pequeña modificación. Como ya generamos la contraseña, en el campo de texto, llenamos el valor “value”, con <? echo ‘$clave’ ?>, o sea, le decimos al interprete que sobre el campo ponga el resultado de la operación que hicimos con anterioridad. */

<form id=”form1″ name=”form1″ method=”post” action=”generaclave.php”>

<table width=”469″ border=”0″>

<tr>

<td width=”159″><label>

/* Aquí añadimos el value */

<input name=”clave” type=”text” id=”clave” value=”<? echo ‘$clave’ ?>” />

</label></td>

<td width=”300″><label>

<input type=”submit” name=”button” id=”button” value=”Generar Contraseña” />

</label></td>

</tr>

</table>

<p> </p>

<p> </p>

<p> </p>

</form>

}

Y listo, con esto tendremos nuestro generador de contraseñas el cual hemos insertado dentro de un pequeño formulario para que quede más amigable. Con el uso de if(!_$POST), hemos utilizado una característica de PHP conocida como “autollamado de páginas”, la que permite llamar a una misma página a través de un formulario y presentar distintos resultados dependiendo del contenido del formulario en sí. En un próximo tutorial entraremos más de lleno en este aspecto, pero es bastante similar a lo que utilizamos aquí.

Algunas consideraciones antes de terminar:

1.- Este es un código bastante básico, ya que lo principal es explicar el funcionamiento del proceso y que puedan tener un generador de contraseñas sin la necesidad de dominar código. A partir de esto se pueden introducir una serie de modificaciones que lo hagan más completo y seguro.

2.- En aspectos de seguridad, si así lo desean, una vez que generan la contraseña, pueden codificarla con alguno de los métodos que PHP presenta, ya sea md5, sha1 o base64encode, como hemos visto en otros tutoriales.

3.- Si desean cambiar el largo de su contraseña, solo deben modificar el numero “8” que pusimos en el búcle for por el largo que deseen.

Y con eso estaríamos, ahora pueden insertar su generador de contraseñas en sus sitios o lo que necesiten, y usarlo sin problemas.

Como siempre, este tutorial ha sido desarrollado, probado y documentado por el equipo de Trucos Del PC, por lo que cuenta con nuestro sello de garantía. Cualquier problema, consulta o comentario que puedan tener, no duden en hacerlo en el área habilitada a continuación.

Y recuerden que estamos al servicio de nuestros lectores, por lo que si hay algo que quisieran hacer y no saben como, pueden realizar una petición en esta página que hemos habilitado, e iremos en su ayuda.

Esperamos que este tutorial haya sido de utilidad para Uds.

Muchas gracias por leer y será hasta una próxima oportunidad.

No hay comentarios:

Publicar un comentario

Post Top Ad