Cree un generador de contraseñas aleatorias usando Python

En este artículo, veremos cómo crear un generador de contraseñas aleatorias usando Python

Las contraseñas son un medio por el cual un usuario prueba que está autorizado para usar un dispositivo. Es importante que las contraseñas sean largas y complejas. Debe contener al menos más de diez caracteres con una combinación de caracteres como porcentaje (%), comas (,) y paréntesis, así como letras y números en mayúsculas y minúsculas. Aquí crearemos una contraseña aleatoria usando código Python.

Ejemplo de una contraseña débil: contraseña123

Ejemplo de una contraseña segura: &gj5hj&*178a1

Módulos necesarios

string: para acceder a las constantes de string . Los que necesitaríamos son:

  • string.ascii_letters :  ASCII es un sistema que se utiliza para representar caracteres digitalmente, cada carácter ASCII tiene su propio código único. string.ascii_letters es una constante de string que contiene todas las letras en ASCII que van de la A a la Z y de la a a la z. Su valor no depende de la configuración regional y es solo una concatenación de ascii_uppercase y ascii_lowercase. Por lo tanto, nos proporciona todo el conjunto de letras como una string que se puede usar como se desee.
  • string.digits esta es una string preiniciada que contiene todos los dígitos en el sistema de numeración arábiga, es decir, 0, 1, 2, 3, 4, 5, 6, 7, 8, 9. Debe tenerse en cuenta que incluso aunque estos son dígitos, el tipo sigue siendo una constante de string y todos los dígitos se concatenan así: «0123456789». Si queremos acceder a números específicos, podemos hacerlo mediante el corte.
  • string.punctuation : además de letras y dígitos, Python también nos proporciona todos los caracteres especiales en una constante de string preiniciada. Estos incluyen varios tipos de llaves, operadores lógicos, operadores de comparación, operadores aritméticos, así como signos de puntuación como comas, comillas, puntos, signos de exclamación y signos de interrogación. La string completa es – !”#$%&'()*+, -./:;<=>?@[\]^_`{|}~

aleatorio: el módulo aleatorio de python ayuda al usuario a generar números pseudoaleatorios. Dentro del módulo, hay varias funciones que solo dependen de la función “random()”. Esta función genera un flotante aleatorio de manera uniforme en el rango semiabierto [0.0, 1.0), es decir, genera un número decimal mayor o igual a 0 y estrictamente menor que uno. Otras funciones usan este número a su manera. Estas funciones se pueden utilizar para bytes, enteros y secuencias. para nuestra tarea, nos interesan las secuencias. Hay funciones aleatorias. opciones que toman una secuencia como argumento y devuelven un elemento aleatorio de esa secuencia. 

Implementación de código:

Primero, tome la longitud de la contraseña como entrada. Luego, podemos mostrar un mensaje sobre la posible lista de caracteres que un usuario desea incluir en la contraseña:

  • Para incluir letras en el conjunto de caracteres, agregue string.ascii_letters en la lista de caracteres.
  • Para incluir letras en el conjunto de caracteres, agregue string.dígitos en la lista de caracteres.
  • Para incluir letras en el conjunto de caracteres, agregue string.puntuación en la lista de caracteres.

Ejecute un bucle for hasta la longitud de la contraseña y, en cada iteración, elija un carácter aleatorio usando random.choice() de characterList. Finalmente, imprima la contraseña.

Python3

import string
import random
 
# Getting password length
length = int(input("Enter password length: "))
 
print('''Choose character set for password from these :
         1. Digits
         2. Letters
         3. Special characters
         4. Exit''')
 
characterList = ""
 
# Getting character set for password
while(True):
    choice = int(input("Pick a number "))
    if(choice == 1):
         
        # Adding letters to possible characters
        characterList += string.ascii_letters
    elif(choice == 2):
         
        # Adding digits to possible characters
        characterList += string.digits
    elif(choice == 3):
         
        # Adding special characters to possible
        # characters
        characterList += string.punctuation
    elif(choice == 4):
        break
    else:
        print("Please pick a valid option!")
 
password = []
 
for i in range(length):
   
    # Picking a random character from our
    # character list
    randomchar = random.choice(characterList)
     
    # appending a random character to password
    password.append(randomchar)
 
# printing password as a string
print("The random password is " + "".join(password))

Producción:

Entrada 1: tomando solo letras en el conjunto de caracteres

Create a Random Password Generator using Python

 

Producción

Entrada 1: Tomando letras y números tanto

Create a Random Password Generator using Python

 

Producción

Entrada 3: tomando letras, números y caracteres especiales

Create a Random Password Generator using Python

 

Producción

Publicación traducida automáticamente

Artículo escrito por chandramauliguptach y traducido por Barcelona Geeks. The original can be accessed here. Licence: CCBY-SA

Deja una respuesta

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