Hinweis: Im nächsten Thema, das Sie lesen werden, erfahren Sie Folgendes: So erstellen Sie einen Zufallskennwortgenerator 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 erledigt werden. Passwörter kommen ans Licht, wenn es um Sicherheit geht.
In diesem Artikel erstellen wir einen Passwortgenerator, der uns dabei hilft, schnell sichere und zufällige Passwörter zu generieren.
Warum brauchen wir einen Passwortgenerator?
Weil wir uns nicht sofort verschiedene Passwortmuster vorstellen können.
Bei Computern ist das jedoch nicht der Fall. Computer können basierend auf unseren Anpassungen in Sekundenschnelle starke, zufällige Passwörter generieren. Es gibt viele Passwortgeneratoren.
Können wir unsere eigenen mit den Anpassungen erstellen, die wir mögen?
Ja, wir können auf jeden Fall einen erstellen. Und hier zeigen wir Ihnen, wie es geht.
Lassen Sie uns einen Passwortgenerator erstellen.
Passwortgenerator 💻
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 verbessern wir es, indem wir nach der Anzahl jedes Zeichentyps fragen, z. B. nach der Anzahl der Ziffern, Buchstaben und Sonderzeichen.
Lassen Sie uns also ohne weitere Umschweife die Schritte zum Erstellen eines Passwortgenerators mit Python durchgehen.
Schritte
- Speichern Sie alle Zeichen als Liste. Wir können das String-Modul von Python verwenden oder sie alle schreiben.
- Bitten Sie den Benutzer, die Länge des Passworts einzugeben.
- Mischt die Zeichen mithilfe der Methode random.shuffle.
- Initialisieren Sie eine leere Liste, um das Passwort zu speichern.
- Schreiben Sie eine Schleife, die die Dauer mal wiederholt.
- Wählen Sie mit der Methode random.choice aus allen Zeichen ein zufälliges Zeichen aus.
- Fügen Sie dem Passwort das Zufallszeichen hinzu.
- Mischen Sie die resultierende Passwortliste, um sie zufälliger zu machen.
- Konvertieren Sie die Liste der Passwörter mithilfe der Join-Methode in eine Zeichenfolge.
- Drucken Sie das Passwort aus.
Befolgen Sie die oben genannten Schritte und versuchen Sie, Code zu schreiben. Machen Sie sich keine Sorgen, auch wenn Sie den Code nicht schreiben können. Schauen 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 einfach die beschriebenen Schritte zum Schreiben von Code befolgt. Sie werden also keine Probleme haben, den Code zu verstehen, wenn Sie die Schritte lesen.
Führen Sie nun den Code aus und generieren Sie ein Passwort. Eine Beispielausgabe wird wie folgt aussehen.
Enter password length: 10 d&amIzK%d)
Beachten Sie das Passwort in der Ausgabe oben. Gibt es Ziffern? Nein. Denn es gibt keine Garantie dafür, dass das Programm Ziffern enthält.
Als Nächstes versuchen wir sicherzustellen, dass das Programm Ziffern und Sonderzeichen enthält, indem wir den Benutzer auffordern, die gewünschte Anzahl an Ziffern, Buchstaben und Sonderzeichen einzugeben.
Wenn der Benutzer die Anzahl der Zeichen für jeden Typ eingibt, fügt das Programm die entsprechende Anzahl der Zeichentypen in das Passwort ein.
Schauen wir uns den Code an, der die Anzahl der Zeichen jedes Typs 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 obigen Code und diesem Code?
- Wir haben für jeden Zeichentyp separate Schleifen geschrieben, um sie dem Passwort hinzuzufügen.
- Es gibt zwei bedingte Prüfungen, um die Gesamtzahl der Zeichen anhand der Länge des Passworts zu validieren.
Wir haben einen zusätzlichen Code hinzugefügt. Das Muster ähnelt jedoch dem obigen Code. Daher wird es für Sie keine Schwierigkeiten geben, es zu verstehen.
Jetzt ist es an der Zeit, die Ausgabe auszuführen und zu überprüfen. Schauen 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(lQq1
Wenn Sie sehen, dass das Passwort dieses Mal generiert wurde, weist es die vom Benutzer gewünschte Mindestanzahl an Zeichen auf. Und das Programm hat zwei weitere zufällige Zeichen eingefügt, um die Länge des Passworts der Benutzereingabe anzupassen.
Live! Wir verfügen über einen vollständigen Generator für sichere Passwörter. 😎
Abschluss
Wir haben gesehen, wie man einen Passwortgenerator von Grund auf erstellt. Können wir weitere Funktionen hinzufügen? Ja, wir können so viele hinzufügen, wie wir möchten. Stellen Sie jedoch sicher, dass das resultierende Passwort sicher genug ist.
Generieren Sie aus dem Code die Passwörter und verwenden Sie diese für Ihr nächstes Online-Konto.
Erfahren Sie, wie Sie gleichen oder nicht gleichen Code schreiben und wie Sie ein Tic-Tac-Toe-Spiel in Python erstellen.
Viel Spaß beim Codieren! 👩💻
