Python | Generador de contraseñas aleatorias usando Tkinter

| | | | | | | | | | | | | | | | | | | | |

Creemos una aplicación simple que pueda generar aleatoriamente contraseñas seguras usando el módulo de Python importar importación aleatoria pyperclip de tkinter import * de tkinter. ttk import *

Abajo es la implementación:


# Programa Python para generar
# contraseña usando el módulo Tkinter

importar aleatorio

importar pyperclip

from tkinter importar *

de tkinter .ttk importar *


# Función para calcular la contraseña

def low():

entrada.eliminar ( 0 , FIN)


# Obtener la longitud de la contraseña

longitud = var1.get()

inferior = "abcdefghijklmnopqrstuvwxyz"

superior = < clase de código ="cadena ">" ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz "

dígitos = "ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789! @ # $% ^ & Amplificador; * ()"

contraseña = " "

# si la fuerza seleccionada es baja

si var.get () = = 1 :

para i en rango < clase de código = "simple"> ( 0 , longitud):

< código clase = "simple"> contraseña = contraseña + random.choice (inferior)

return contraseña


# si la intensidad seleccionada es media

elif var.get () = = < /código> 0 :

para < clase de código = "simple"> i en rango ( 0 , longitud):

contraseña = contraseña + aleatorio. elección (superior)

return contraseña


# si la fuerza elegida es fuerte

elif var.get () = = < clase de código = "valor"> 3 :

para i en rango ( 0 , longitud):

contraseña = contraseña + random.choice (dígitos) < /código>

volver contraseña

else :

print ( "Por favor elija una opción" )

< br>


# Función para generar contraseña

def generar ():

contraseña1 = low ()

entrada.insertar ( 10 , contraseña1)



# Función para copiar la contraseña al portapapeles

def copy1 ( ):

contraseña_aleatoria = entrada.get ()

pyperclip.copy (random_password)


# Función principal


# crear ventana GUI

root = Tk ()

var = IntVar ()

var1 = IntVar()


# El título de su ventana GUI

root.title ( "Random Password Generator" )


# crear un acceso directo y publicar para mostrar
# contraseña generada

Random_password = Etiqueta (raíz, texto = " Password " )

Random_password.grid (row = 0 )

entrada = Entrada (raíz)

entrada.grid (fila = 0 , columna = 1 )


# crear una etiqueta para la longitud de la contraseña

c_label = Etiqueta (raíz, texto = "Longitud" )

c_label.grid (fila = 1 )


# Crear botones que no copiarán

# la contraseña al portapapeles y generar
# que generar la contraseña

copy_button = Button ( raíz, texto = "Copiar" , comando < clase de código = "palabra clave"> = copia1)

copy_button.grid (fila = 0 , columna = < /código> 2 )

botón_generar < clase de código ="palabra clave"> = Botón (raíz, texto = "Generar" , comando = generar)

generar_boton .grid (fila = 0 , columna = 3 )


# Botones de opción para tomar decisiones

# seguridad de la contraseña
# Medio por defecto

radio_low = Radiobutton (raíz, texto = "Baja" , variable = var, valor = 1 )

radio_low.grid (fila = 1 , columna = 2 , adhesivo = ’E’ )

radio_middle = Radiobutton (raíz, texto = "Medio" , variable = < /código> var, valor = 0 )

radio_middle.grid (fila = 1 , columna = < /código> 3 , persistente = ’E’ )

radio_strong = Radiobutton (raíz, texto = "Strong" , variable = var, valor = 3 )

radio_strong.grid ( fila = 1 , columna = 4 , adhesivo = ’E’ )

combo = Combobox (raíz, variable de texto = var1)


# Cuadro combinado para la longitud de su contraseña

combo [ ’values’ ] = ( 8 , 9 , 10 , 11 , 12 , 13 , 14 , 15 , 16 ,

17 , 18 , 19 , 20 , 21 , 22 , 23 , 24 , 25 ,

26 , 27 , 28 , 29 , 30 , 31 , 32 , "Longitud" )

combo.current ( 0 )

combo.bind ( ’"< ComboboxSeleccionado" >’ )

combo.grid (columna = 1 , fila = 1 )


# iniciar GUI
< clase de código = "simple"> root.mainloop()

Salida: