Installera den nödvändiga modulen:
Pyperclip-modulen används i denna handledning för att kopiera det slumpmässigt genererade lösenordet för att använda det någonstans. Kör följande kommando för att installera pyperclip.
$ pip installera pyperclipExempel 1: Implementera en enkel lösenordsgenerator
Det enkla sättet att skapa en lösenordsgenerator visas i följande skript. En stor text med blandade tecken har förklarats generera lösenordet genom att välja de specifika längdtecknen. Längden på lösenordet kommer att tas från användaren. prov() funktion av slumpmässig modulen har använts för att välja karaktär från texten och gå samman slumpmässigt. Det slumpmässigt genererade lösenordet kommer att skrivas ut senare.
# Importera slumpmässig modulimportera slumpmässigt
# Ställ in teckenlistan för att skapa lösenordet
tecken = "01234567890ABCDEFGHIJKLMNOPQRSTUVWXYZ & * () [] | / \?[e-postskyddad # $% ^ abcdefghijklmnopqrstuvwxyz "
# Ta bort lösenordets längd från användaren
password_length = int (input ('Ange lösenordets längd:'))
# Skapa lösenordet
lösenord = "".gå med (slumpmässigt.exempel (tecken, lösenordslängd))
# Skriv ut det genererade lösenordet
skriv ut ("Gernerated password:% s"% password)
Produktion:
12 har angett som värdet på lösenordets längd och ett lösenord på 12 tecken har genererats efter att manuset har körts.
Exempel 2: Implementera lösenordsgenerator med GUI
GUI-baserat lösenordsgeneratorprogram är till hjälp för användaren att generera det slumpmässiga lösenordet. Tkinter modulen har importerats till skriptet för att skapa den användarvänliga applikationen för lösenordsgenerator. Slumpmässig och sträng moduler har importerats för att generera det slumpmässiga lösenordet genom att blanda versaler, gemener, siffror och specialtecken. Pyperclip modulen används för att kopiera det genererade lösenordet för att skapa olika typer av användarkonton. Lösenordsgenerator() funktionen har definierat att generera lösenordet och lagra det i Lösenord variabel. CopyPassword () funktionen har definierat att kopiera det genererade lösenordet efter att ha genererat lösenordet. Ett Tkinter-objekt har förklarats för att definiera applikationsfönstret där de widgets som krävs för att utforma lösenordgeneratorprogrammet kommer att läggas till. Den första etikettwidgeten har definierat inställningen av etiketten för spinnrutans widget för att ange lösenordslängden. Den andra etikettwidgeten har definierat textrutans widgetetikett där det genererade lösenordet kommer att visas. Två-knapps widgets har definierats för att generera lösenordet och kopiera lösenordet. När 'Generera lösenord' -knappen trycks ned, Lösenordsgenerator() funktionen kommer att anropas och det slumpmässigt genererade lösenordet visas i textrutan. Efter att ha genererat lösenordet, omKopiera' -knappen trycks ned, sedan CopyPassword () funktionen kommer att anropas för att kopiera lösenordet och texten 'Lösenordet har kopieratsvisas ovanför knapparna.
# Importera tkinter-modulimportera tkinter
# Importera slumpmässiga moduler och strängmoduler
importera slumpmässigt, sträng
# Importera pyperclip-modulen
importera pyperclip
# Definiera funktion för att generera slumpmässigt lösenord
def Password_Generator ():
lösenord = "
för n i intervallet (lenPassword.skaffa sig()):
lösenord = lösenord + slumpmässigt.val (sträng.ascii_uppercase + sträng.ascii_lowercase + sträng.siffror + sträng.skiljetecken)
strPassword.Välj lösenord)
# Definiera funktion för att kopiera det genererade lösenordet
def CopyPassword ():
om strPassword.skaffa sig() != ":
pyperclip.kopiera (strPassword.skaffa sig())
lblmsg2 = tkinter.Etikett (win, text = 'Lösenord kopieras', font = 'Ubuntu 12 fet', bredd = 15)
lblmsg2.plats (x = 105, y = 120)
annan:
lblmsg2 = tkinter.Etikett (win, text = 'Inget att kopiera', font = 'Ubuntu 12 fet', bredd = 15)
lblmsg2.plats (x = 105, y = 120)
# Definiera objekt för att visa programmets huvudfönster
vinna = tkinter.Tk ()
# Ställ in huvudfönstrets titel
vinna.titel ("Random Password Generator")
# Ställ in huvudfönstrets höjd och bredd
vinna.geometri ("350x220")
# Ställ in fönstrets position
vinna.eval ('tk :: PlaceWindow . Centrum')
# Ställ in etiketten för lösenordslängden
lblPassword = tkinter.Etikett (win, text = 'Set Password Length', font = 'Ubuntu 15 bold')
lblPassword.packa()
# Ställ in datatypen för lösenordslängden
lenPassword = tkinter.IntVar ()
# Ställ in gränsen för längdvärdet
längd = tkinter.Spinbox (win, from_ = 6, to_ = 16, textvariable = lenPassword, width = 2)
längd.pack (pady = 10)
# Ställ in etiketten för lösenordsfältet
lblmsg1 = tkinter.Etikett (win, text = 'Generated Password', font = 'Ubuntu 12')
lblmsg1.packa()
# Ställ in datatypen för lösenordsfältet
strPassword = tkinter.StringVar ()
# Definiera variabeln för lösenordsfältet
textData = tkinter.Entry (win, textvariable = strPassword, width = 15)
textData.packa()
# Definiera knapp för att ringa upp funktionen för att generera slumpmässigt lösenord
btnPassword = tkinter.Knapp (win, text = "Generate Password", command = Password_Generator)
btnPassword.pack (padx = 50, pady = 5, sida = tkinter.VÄNSTER)
# Definiera knapp för att ringa funktionen för att kopiera lösenordet
btnCopy = tkinter.Knapp (win, text = 'Copy', command = CopyPassword)
btnKopia.pack (sida = tkinter.VÄNSTER)
# Ring huvudslingan på Tkinter för att öppna huvudfönstret
vinna.mainloop ()
Produktion:
Följande fönster visas efter att manuset har körts. 6 har ställts in som standardlängdsvärde för lösenordet. Användaren kan öka eller minska värdet innan han skapar lösenordet.
Lösenordet på 8 tecken har genererats efter att du har ställt in längdvärdet på 8 och tryckt på Generera lösenord knapp.
Lösenordet har kopierats meddelandet har dykt upp efter att du tryckt på Kopiera knapp. Nu kan detta lösenord användas i andra applikationer för att skapa ett användarkonto.
Slutsats:
Två olika sätt att skapa slumpmässiga lösenord har förklarats i denna handledning. Det första exemplet kan användas om du vill skapa en textbaserad lösenordsgenerator, och det andra exemplet kan användas om du vill skapa GUI-baserad lösenordsgenerator.