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.
Inhaltsverzeichnis
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.
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.
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.
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! 👩💻