Python

Python-wachtwoordgenerator

Python-wachtwoordgenerator
Wachtwoord wordt gebruikt in elke toepassing voor authenticatie. Het maken van een sterk wachtwoord is erg belangrijk om het gebruikersaccount veilig te houden. Elk account kan gemakkelijk worden gehackt als er een heel eenvoudig wachtwoord voor het account wordt gebruikt, zoals 12345 of de gebruikersnaam. Een sterk wachtwoord kan worden gemaakt door een hoofdletter, kleine letter, cijfers en speciale symbolen te combineren. Een wachtwoordgenerator is een programma dat wordt gebruikt om willekeurige wachtwoorden te genereren. Het wachtwoord dat door deze applicatie wordt gegenereerd, is erg sterk en kan niet gemakkelijk worden geraden door de hacker. Het is beter om het wachtwoord dat is gegenereerd door de wachtwoordgenerator te gebruiken voor een normaal of administratief account om het account veilig te houden. Het programma voor het genereren van wachtwoorden kan op verschillende manieren worden geïmplementeerd met behulp van het python-script dat in deze zelfstudie wordt getoond.

Installeer de benodigde module:

De pyperclip-module wordt in deze tutorial gebruikt om het willekeurig gegenereerde wachtwoord te kopiëren om het ergens te gebruiken. Voer de volgende opdracht uit om pyperclip te installeren:.

$ pip installeer pyperclip

Voorbeeld-1: Implementeer een eenvoudige wachtwoordgenerator

De eenvoudige manier om een ​​wachtwoordgenerator te maken is weergegeven in het volgende script:. Er is een grote tekst met gemengde tekens gedeclareerd om het wachtwoord te genereren door de specifieke lengtetekens te selecteren. De lengte van het wachtwoord wordt overgenomen van de gebruiker. monster() functie van de willekeurig module is gebruikt om het teken uit de tekst te selecteren en willekeurig samen te voegen. Het willekeurig gegenereerde wachtwoord wordt later afgedrukt.

# Import willekeurige module
willekeurig importeren
# Stel de karakterlijst in voor het genereren van het wachtwoord
tekens = "01234567890ABCDEFGHIJKLMNOPQRSTUVWXYZ&*()[]|/\?[email protected]#$%^abcdefghijklmnopqrstuvwxyz"
# Neem de lengte van het wachtwoord van de gebruiker
password_length = int(input('Voer de lengte van het wachtwoord in: '))
# Genereer het wachtwoord
wachtwoord = "".meedoen (willekeurig).voorbeeld (tekens, wachtwoord_lengte))
# Druk het gegenereerde wachtwoord af
print("Gegenereerd wachtwoord: %s" %wachtwoord)

Uitgang:

12 heeft gegeven als de waarde van de wachtwoordlengte en er is een wachtwoord van 12 tekens gegenereerd na het uitvoeren van het script.

Voorbeeld-2: Wachtwoordgenerator implementeren met GUI

Op GUI gebaseerde applicatie voor het genereren van wachtwoorden is handig voor de gebruiker om het willekeurige wachtwoord te genereren. Tkinter module is geïmporteerd in het script om de gebruiksvriendelijke applicatie voor het genereren van wachtwoorden te maken. Willekeurig en draad modules zijn geïmporteerd om het willekeurige wachtwoord te genereren door hoofdletters, kleine letters, cijfers en speciale tekens te mengen. De pyperclip module wordt gebruikt om het gegenereerde wachtwoord te kopiëren voor het maken van verschillende soorten gebruikersaccounts. Wachtwoord generator() functie heeft gedefinieerd om het wachtwoord te genereren en op te slaan in de wachtwoord variabele. KopieerWachtwoord() functie heeft gedefinieerd om het gegenereerde wachtwoord te kopiëren na het genereren van het wachtwoord. Er is een Tkinter-object gedeclareerd om het toepassingsvenster te definiëren waar de vereiste widgets voor het ontwerpen van de toepassing voor het genereren van wachtwoorden zullen worden toegevoegd. De eerste labelwidget heeft het instellen van het label voor de spinboxwidget gedefinieerd om de wachtwoordlengte in te voeren. De tweede labelwidget heeft het tekstvakwidgetlabel gedefinieerd waar het gegenereerde wachtwoord wordt weergegeven. Er zijn widgets met twee knoppen gedefinieerd om het wachtwoord te genereren en het wachtwoord te kopiëren. Wanneer de 'Genereer wachtwoord' knop wordt ingedrukt, de Wachtwoord generator() functie wordt aangeroepen en het willekeurig gegenereerde wachtwoord wordt weergegeven in het tekstvak. Na het genereren van het wachtwoord, als de 'Kopiëren' knop wordt ingedrukt, dan zal de KopieerWachtwoord() functie wordt aangeroepen om het wachtwoord te kopiëren, en de tekst 'Wachtwoord gekopieerd' wordt weergegeven boven de knoppen.

# Importeer tkinter-module
import tkinter
# Importeer willekeurige en tekenreeksmodules
willekeurig importeren, tekenreeks
# Importeer pyperclip-module
pyperclip importeren
# Definieer functie om willekeurig wachtwoord te genereren
def Wachtwoord_Generator():
wachtwoord = "
voor n in bereik (lenWachtwoord.krijgen()):
wachtwoord = wachtwoord+willekeurig.keuze(string.ascii_hoofdletters + tekenreeks.ascii_kleine letters + tekenreeks.cijfers + tekenreeks.interpunctie)
strWachtwoord.stel een wachtwoord in)
# Definieer functie om het gegenereerde wachtwoord te kopiëren
def CopyPassword():
if strWachtwoord.krijgen() != ":
pyperclip.kopie(strWachtwoord).krijgen())
lblmsg2 = tkinter.Label(win, text='Wachtwoord gekopieerd', font='Ubuntu 12 bold',width=15)
lblmsg2.plaats(x=105, y=120)
anders:
lblmsg2 = tkinter.Label(win, text='Niets om te kopiëren', font='Ubuntu 12 bold', width=15)
lblmsg2.plaats(x=105, y=120)
# Definieer object om het hoofdvenster van de applicatie weer te geven
win = tkinter.Tk()
# Stel de titel van het hoofdvenster in
winnen.title("Willekeurige wachtwoordgenerator")
# Stel de hoogte en breedte van het hoofdvenster in
winnen.geometrie ("350x220")
# Stel de positie van het venster in
winnen.eval('tk::PlaceWindow . centrum')
# Stel het label in voor de wachtwoordlengte
lblPassword = tkinter.Label(win, text='Stel wachtwoordlengte in', font='Ubuntu 15 bold')
lblWachtwoord.pak()
# Stel het gegevenstype van de wachtwoordlengte in
lenPassword = tkinter.IntVar()
# Stel de limiet in voor de lengtewaarde
lengte = tkinter.Spinbox(win, from_=6, to_=16, textvariable=lenPassword, width=2)
lengte.pak(pady=10)
# Stel het label in voor het wachtwoordveld
lblmsg1 = tkinter.Label(win, text='Gegenereerd wachtwoord', font='Ubuntu 12')
lblmsg1.pak()
# Stel het gegevenstype van het wachtwoordveld in
strPassword = tkinter.StringVar()
# Definieer de variabele voor het wachtwoordveld
textData=tkinter.Entry(win, textvariable=strPassword, width=15)
tekstgegevens.pak()
# Definieer knop om de functie op te roepen om het willekeurige wachtwoord te genereren
btnPassword=tkinter.Button(win, text="Wachtwoord genereren", command=Password_Generator)
btnWachtwoord.pack(padx=50,pady=5,side=tkinter.LINKS)
# Definieer knop om de functie op te roepen om het wachtwoord te kopiëren
btnCopy=tkinter.Button(win, text='Copy', command = CopyPassword)
btnCopy.pack(side=tkinter).LINKS)
# Roep de hoofdlus van Tkinter op om het hoofdvenster te openen
winnen.Hoofdlus()

Uitgang:

Het volgende venster zal verschijnen na het uitvoeren van het script:. 6 is ingesteld als de standaard lengtewaarde van het wachtwoord. De gebruiker kan de waarde verhogen of verlagen voordat het wachtwoord wordt gegenereerd.

Het wachtwoord van 8 tekens is gegenereerd na het instellen van de lengtewaarde op 8 en het indrukken van de Genereer wachtwoord knop.

Wachtwoord gekopieerd bericht is verschenen nadat u op de . hebt gedrukt Kopiëren knop. Dit wachtwoord kan nu in andere toepassingen worden gebruikt om een ​​gebruikersaccount aan te maken.

Conclusie:

In deze zelfstudie worden twee verschillende manieren uitgelegd om willekeurige wachtwoorden te maken. Het eerste voorbeeld kan worden gebruikt als u een op tekst gebaseerde wachtwoordgenerator wilt maken en het tweede voorbeeld kan worden gebruikt als u een op een GUI gebaseerde wachtwoordgenerator wilt maken.

Top Oculus App Lab-games
Als je eigenaar bent van een Oculus-headset, moet je op de hoogte zijn van sideloading. Sideloading is het proces van het installeren van niet-winkeli...
Top 10 spellen om te spelen op Ubuntu
Het Windows-platform is een van de dominante platforms voor gaming geweest vanwege het enorme percentage games dat tegenwoordig wordt ontwikkeld om Wi...
5 beste arcade-spellen voor Linux
Tegenwoordig zijn computers serieuze machines die worden gebruikt om te gamen. Als je de nieuwe hoge score niet kunt halen, weet je wat ik bedoel. In ...