So erstellen Sie einen zufälligen Passwortgenerator in Python

Sicherheit ist einer der wichtigsten Teile unseres Lebens. Die Bedeutung der Sicherheit nimmt von Tag zu Tag zu, da die meisten Dinge online gehen. Passwörter kommen ans Licht, wenn wir über Sicherheit sprechen.

In diesem Artikel erstellen wir einen Passwortgenerator, der uns hilft, schnell zufällige und starke Passwörter zu generieren.

Warum brauchen wir einen Passwortgenerator?

Weil uns nicht sofort verschiedene Muster von Passwörtern einfallen.

Aber es ist nicht der gleiche Fall mit Computern. Computer können basierend auf unseren Anpassungen innerhalb von Sekunden zufällige und starke Passwörter generieren. Es gibt viele Passwortgeneratoren.

Können wir unsere eigenen mit den Anpassungen erstellen, die uns gefallen?

Ja, wir können definitiv einen erstellen. Und hier zeigen wir Ihnen, wie das geht.

Lassen Sie uns einen Passwortgenerator erstellen.

Passwort-Generator 💻

Das Beste an der Erstellung unseres eigenen Passwortgenerators ist, dass wir ihn nach Belieben anpassen können.

Zuerst erstellen wir einen Passwortgenerator, der nach der Länge des Passworts fragt und ein zufälliges Passwort generiert, das Ziffern, Buchstaben und Sonderzeichen enthält.

Als Nächstes werden wir es verbessern, indem wir nach der Anzahl der einzelnen Zeichentypen fragen, z. B. nach der Anzahl der Ziffern, Alphabete und Sonderzeichen.

Sehen wir uns also ohne weiteres die Schritte zum Erstellen eines Passwortgenerators mit Python an.

Schritte

  • Speichern Sie alle Zeichen als Liste. Wir können das String-Modul von Python verwenden oder alle eingeben.
  • Bitten Sie den Benutzer, die Länge des Kennworts einzugeben.
  • Mischen Sie die Zeichen mit der Methode random.shuffle.
  • Initialisieren Sie eine leere Liste, um das Passwort zu speichern.
  • Schreiben Sie eine Schleife, die length mal iteriert.
    • Wählen Sie mit der random.choice-Methode aus allen Zeichen ein zufälliges Zeichen aus.
    • Hängen Sie das zufällige Zeichen an das Passwort an.
  • Mischen Sie die resultierende Passwortliste, um sie zufälliger zu machen.
  • Konvertieren Sie die Passwortliste mit der Join-Methode in eine Zeichenfolge.
  • Drucken Sie das Passwort aus.
  Wie verbinde ich mich mit dem WLAN von Hilton Honors?

Befolgen Sie die obigen Schritte und versuchen Sie, Code zu schreiben. Machen Sie sich keine Sorgen, auch wenn Sie den Code nicht schreiben können. Sehen Sie sich den Code unten an.

Code

import string
import random


## characters to generate password from
characters = list(string.ascii_letters + string.digits + "[email protected]#$%^&*()")

def generate_random_password():
	## length of password from the user
	length = int(input("Enter password length: "))

	## shuffling the characters
	random.shuffle(characters)
	
	## picking random characters from the list
	password = []
	for i in range(length):
		password.append(random.choice(characters))

	## shuffling the resultant password
	random.shuffle(password)

	## converting the list to string
	## printing the list
	print("".join(password))



## invoking the function
generate_random_password()

Der obige Code ist selbsterklärend. Wir haben gerade die beschriebenen Schritte zum Schreiben von Code befolgt. Sie werden also keine Probleme beim Verstehen des Codes haben, wenn Sie die Schritte lesen.

Führen Sie nun den Code aus und generieren Sie ein Passwort. Eine Beispielausgabe sieht wie folgt aus.

Enter password length: 10
d&amIzK%d)

Beachten Sie das Passwort in der obigen Ausgabe. Gibt es eine Ziffer? Nein. Denn es gibt keine Garantie dafür, dass das Programm Ziffern enthält.

  So laden Sie Microsoft Office Picture Manager herunter

Als nächstes versuchen wir sicherzustellen, dass das Programm Ziffern und Sonderzeichen enthält, indem wir den Benutzer auffordern, die gewünschte Anzahl von Ziffern, Buchstaben und Sonderzeichen einzugeben.

Wenn der Benutzer die Anzahl von Zeichen für jeden Typ eingibt, fügt das Programm die entsprechende Anzahl von Zeichentypen in das Passwort ein.

Sehen wir uns den Code an, der die Anzahl der Zeichen für jeden Typ akzeptiert und das Passwort generiert.

import string
import random


## characters to generate password from
alphabets = list(string.ascii_letters)
digits = list(string.digits)
special_characters = list("[email protected]#$%^&*()")
characters = list(string.ascii_letters + string.digits + "[email protected]#$%^&*()")

def generate_random_password():
	## length of password from the user
	length = int(input("Enter password length: "))

	## number of character types
	alphabets_count = int(input("Enter alphabets count in password: "))
	digits_count = int(input("Enter digits count in password: "))
	special_characters_count = int(input("Enter special characters count in password: "))

	characters_count = alphabets_count + digits_count + special_characters_count

	## check the total length with characters sum count
	## print not valid if the sum is greater than length
	if characters_count > length:
		print("Characters total count is greater than the password length")
		return


	## initializing the password
	password = []
	
	## picking random alphabets
	for i in range(alphabets_count):
		password.append(random.choice(alphabets))


	## picking random digits
	for i in range(digits_count):
		password.append(random.choice(digits))


	## picking random alphabets
	for i in range(special_characters_count):
		password.append(random.choice(special_characters))


	## if the total characters count is less than the password length
	## add random characters to make it equal to the length
	if characters_count < length:
		random.shuffle(characters)
		for i in range(length - characters_count):
			password.append(random.choice(characters))


	## shuffling the resultant password
	random.shuffle(password)

	## converting the list to string
	## printing the list
	print("".join(password))



## invoking the function
generate_random_password()

Was ist also der Unterschied zwischen dem vorherigen Code und diesem Code?

  • Wir haben separate Schleifen für jeden Zeichentyp geschrieben, um sie dem Passwort hinzuzufügen.
  • Es gibt zwei bedingte Prüfungen, um die Gesamtzahl der Zeichen mit der Passwortlänge zu validieren.
  So verwenden Sie die ADB-Deinstallations-App

Wir haben zusätzlichen Code hinzugefügt. Das Muster ähnelt jedoch dem vorherigen Code. Sie werden also keine Schwierigkeiten haben, es zu verstehen.

Jetzt ist es an der Zeit, die Ausgabe auszuführen und zu überprüfen. Sehen Sie sich den folgenden Testlauf an.

Enter password length: 10
Enter alphabets count in password: 3
Enter digits count in password: 2
Enter special characters count in password: 3
V2(&#XlQq1

Wenn Sie dieses Mal das generierte Passwort sehen, hat es die Mindestanzahl an Zeichen, die der Benutzer wünscht. Und das Programm hat 2 weitere zufällige Zeichen eingefügt, um die Passwortlänge gleich der Benutzereingabe zu machen.

Hurra! Wir haben einen kompletten Generator für starke Passwörter. 😎

Fazit

Wir haben gesehen, wie man einen Passwortgenerator von Grund auf neu erstellt. Können wir weitere Funktionen hinzufügen? Ja, wir können so viele hinzufügen, wie wir wollen. Stellen Sie jedoch sicher, dass das resultierende Passwort stark genug ist.

Generieren Sie die Passwörter aus dem Code und verwenden Sie sie für Ihr nächstes Online-Konto.

Verwenden Sie dabei den wdzwdz Random Password Generator, um sichere Passwörter zu erstellen.

Erfahren Sie, wie Sie gleich oder ungleich Code schreiben und wie Sie ein Tic-Tac-Toe-Spiel in Python erstellen.

Viel Spaß beim Codieren! 👩‍💻