Carlos Ábrego

Desarrollo de software y análisis de datos
Generador de contraseñas seguras

Generador de contraseñas seguras

Un problema que se presenta en muchas ocasiones es el de elaborar una contraseña segura para los distintos servicios que utilizamos cotidianamente. Se recomienda que una contraseña segura incluya letras mayúsculas, letras minúsculas, números y símbolos o signos de puntuación.

La finalidad de una contraseña segura es que sea lo más difícil de adivinar por una persona o un programa informático, de manera que entre más caracteres distintos y de diferentes tipos tenga, se dificulta más la tarea de adivinarla.

Este tutorial consiste en la creación de un programa sencillo, que nos ayude a elegir una contraseña segura, que posteriormente debemos usar y guardar para no perderla, porque no será fácil de recordar.

Para poder utilizar este programa debemos tener instalado Python en nuestro sistema, y si lo queremos escribir por nosotros mismos, necesitamos también un editor de código o un entorno de desarrollo integrado o IDE por sus siglas en inglés (Integrated Development Environment).

En primer lugar necesitamos importar el módulo random, utilizando la sentencia import, de la siguiente manera:

import random

Posteriormente vamos a inicializar variables de tipo str para incluir los caracteres que queremos utilizar para la generación de las contraseñas:

mayusculas = "ABCDEFGHIJKLMNOPQRSTUVWXYZ"
minusculas = mayusculas.lower() # Transformamos las mayúsculas a minúsculas
numeros = "0123456789"
simbolos = "\"#$%&'()*+,-./:;<=>?@[\]^_`{|}~"

Una vez que tenemos todos los caracteres que podemos utilizar para la creación de contraseñas, vamos a unirlos en una sola variable.

caracteres = mayusculas + minusculas + numeros + simbolos

Podemos preguntar al usuario cuántos caracteres desea incluir en su contraseña segura con el siguiente código:

cant = int(input("Cantidad de caracteres: "))

Finalmente, llamamos al método random.sample() enviando como argumentos la cadena de caracteres de donde va a seleccionar la cantidad de caracteres que le digamos en el atributo cant, sin duplicados. Guardamos la lista resultante en la variable contraseña, y se unen los caracteres en una cadena con la función .join. almacenándola en la variable contraseña, para mostrarla en pantalla con la función print().

lista = random.sample(caracteres, cant)
contraseña = "".join(lista)
print(contraseña)

Salida:

>Xk"%v_7CS

Por supuesto, el programa es sencillo, no estamos verificando que el usuario ingrese un número, el programa generaría una excepción, si al momento de ejecutarlo se ingresan caracteres no numéricos al preguntarle la cantidad de caracteres.

Espero que te haya sido útil y divertido el tutorial, si tienes alguna duda, comentario o se te presentó algún problema al codificarlo, puedes dejarme un comentario y con gusto te responderé.

Etiquetas:
Artículo anterior

Deja un comentario

No se publicará tu dirección de correo electrónico. Los campos obligatorios están marcados con *.

*
*