Erfahren Sie, wie Sie mit Python einen Passwortgenerator in Python codieren, um sichere Passwörter zu generieren Modul.
Python ist eine vielseitige Programmiersprache, die Sie anwendungsübergreifend in Automatisierung, Webentwicklung, Datenanalyse und mehr verwenden können.
Sie können Python verwenden, um reale Aufgaben wie das Überwachen von Websites, das Senden von E-Mails und das Generieren von Passwörtern zu automatisieren. In diesem Tutorial erfahren Sie, wie Sie in Python einen sicheren und zufälligen Passwortgenerator erstellen.
Lass uns anfangen…
3 Reasons Why You Should Code a Password Generator in Python

Waren Sie es jemals leid, sichere Passwörter zu generieren und diese im Auge zu behalten? Aus diesem Grund sollten Sie erwägen, einen Passwortgenerator in Python zu programmieren.
1. Automatisieren Sie den Prozess der Passwortgenerierung
An einem typischen Tag in Ihrem Leben besuchen Sie zahlreiche Websites – von E-Commerce-Websites bis hin zu Lern- und Programmierplattformen. Bei den meisten Websites müssen Sie sich mit Anmeldeinformationen anmelden. Dies ist eine sich wiederholende Aufgabe, die Sie mit einem Python-Skript automatisieren können.
2. Generieren Sie sichere Passwörter
Es kann eine Herausforderung sein, starke Passwörter zu finden, die den Sicherheitsbeschränkungen entsprechen. Triviale Passwörter, die nicht stark sind, sind anfällig für Sicherheitsangriffe.

Sie können Python zum programmgesteuerten Generieren verwenden Verbindung Passwörter. Auf diese Weise können Sie das Skript ausführen, um Passwörter nach Bedarf zu generieren – ohne sich Gedanken über die Sicherheit des Passworts machen zu müssen.
3. Fügen Sie Ihrem Portfolio ein praktisches Projekt hinzu
Wenn Sie ein Anfänger in der Python-Programmierung sind, sollten Sie Projekte erstellen, um Ihre Fähigkeiten zu verbessern und Ihre Programmierkenntnisse durch ein Portfolio zu demonstrieren.
Neben einem einfachen Python-Skript können Sie es weiter anpassen und als PyPI-Paket veröffentlichen. Sie können auch eine grafische Benutzeroberfläche mit Bibliotheken wie Tkinter und vielem mehr hinzufügen!
Auf diese Weise können Sie Ihren eigenen Passwortgenerator codieren, um Ihre Passwörter sicher zu generieren und zu verwalten – über die verschiedenen Websites hinweg.
The Random Module in Python: Is It Secure Enough?
Python Zufallsmodul bietet auch Funktionen, mit denen Sie aus einem Alphabet sampeln und konstruieren können scheinbar zufällige Sequenzen. Das Zufallsmodul generiert pseudozufällig Sequenzen. Lassen Sie uns analysieren, was Pseudozufälligkeit bedeutet.
Der Begriff Pseudozufall bedeutet, dass, obwohl die Sequenz zufällig erscheinen mag, sie es tatsächlich ist deterministisch.
Wenn Sie also einen zufälligen Startwert festlegen, ergibt das Zufallsmodul dieselbe Sequenz auf Ihrem Computer und für jeden, der dasselbe Skript mit demselben Startwert ausführt.
Aus diesem Grund sollten Sie random nicht für Anwendungen verwenden, bei denen Sicherheit wichtig ist, wie z. B. Passwörter.
Also, wann können Sie die verwenden random
Modul?
Für alle nicht sensiblen Anwendungen können Sie das Zufallsmodul verwenden. Zum Beispiel gibt es in einer Klasse mit 40 Schülern drei Sätze von Fragebögen, A, B und C. Sie möchten jedem Schüler zufällig ein bestimmtes Set zuweisen.

In diesem Fall können Sie verwenden random.choice()
innerhalb eines Listenverständnisausdrucks, wie unten gezeigt:
import random
papers = ['A','B','C']
q_list = [random.choice(papers) for i in range(40)]
print(q_list)
Sample output:
['A', 'A', 'B', 'B', 'B', 'B', 'B', 'C', 'B', 'A', 'C', 'C', 'B',
'C', 'A', 'B', 'A', 'A', 'C', 'C', 'A', 'A', 'A', 'C', 'A', 'C',
'A', 'C', 'B', 'B', 'B', 'B', 'A', 'A', 'B', 'B', 'A', 'A', 'B', 'B']
📑 Schlüssel zum Mitnehmen: Für statistische Simulationen können Sie die verwenden
random
Modul; Verwenden Sie für sensible Anwendungen diesecrets
Modul.
Python Secrets Module: Your Key to Secure Passwords
Der Python-Verbesserungsvorschlag, PEP 506, rät Entwicklern, die secrets
Modul immer dann, wenn eine Sequenz kryptografisch sicher sein soll, wie z. B. Passwörter und Sicherheitstoken.

Dieses secrets
Das Modul verfügt über mehrere integrierte Funktionen, mit denen Sie Folgendes tun können:
- Generieren Sie Folgen von Zufallszahlen, die für kryptografische Anwendungen sicher sind.
- Verwenden Sie Funktionen wie
choice()
,randbits()
undrandbelow()
um sichere Zufallszahlen zu generieren. - Generieren Sie Token für das Zurücksetzen von Passwörtern, temporäre URLs und mehr.
How to Code a Password Generator in Python [in 4 Steps]
Voraussetzungen:: Sie müssen Python 3.6 oder eine neuere Version installiert haben, um zusammen mit diesem Tutorial zu programmieren. Sie können den Beispielcode auch in ausführen Der Online-Python-Code-Editor von Geekflare.
Schritt 1: Importieren Sie die erforderlichen Module
Als ersten Schritt importieren wir die secrets
Modul. Dieses Modul ist in die Python-Standardbibliothek integriert, sodass Sie es wie folgt importieren können:
import secrets
Lassen Sie uns auch Pythons eingebautes importieren string
Modul:
import string
Schritt 2: Definieren Sie das Alphabet
Der nächste Schritt besteht darin, das Alphabet zu definieren. Alphabet bezeichnet die Menge aller Zeichen, die wir für die Passwortgenerierung berücksichtigen werden. Hier soll es folgendes enthalten: Klein- und Großbuchstaben sowie Sonderzeichen.

Dieses string
-Modul stellt Zeichenfolgenkonstanten bereit, mit denen wir das Alphabet definieren können. Wir verwenden die folgenden Zeichenfolgenkonstanten:
- Dieses
ascii_letters
ist eine Verkettung von Kleinbuchstaben und Großbuchstaben. - Dieses
digits
Konstante ist die Zeichenfolge, die die Zahlen 0 bis 9 enthält:'0123456789'
. - Dieses
punctuation
Konstante ist die Zeichenfolge aller Sonderzeichen.
letters = string.ascii_letters
digits = string.digits
special_chars = string.punctuation
Lassen Sie uns zum Schluss die obigen String-Konstanten verketten, um das Alphabet zu erhalten.
alphabet = letters + digits + special_chars
Schritt 3: Legen Sie die Länge des Passworts fest; Generieren Sie ein Passwort
Lassen Sie uns die Länge des Passworts in der Variablen speichern, pwd_length
. In diesem Beispiel hat die Passwortzeichenfolge die Länge 12.
pwd_length = 12
▶️ Führen Sie nun die folgende Codezelle aus, um ein Passwort zu generieren:
pwd = ''
for i in range(pwd_length):
pwd += ''.join(secrets.choice(alphabet))
print(pwd)
# Sample output
}2:Lz,1!Gvo@
Der obige Code macht folgendes:
- Die Passwortzeichenfolge
pwd
ist zunächst ein leerer String. - Wir wissen, dass
secrets.choice(alphabet)
gibt ein zufällig ausgewähltes Zeichen aus der zurückalphabet
. - Wir nutzen die
join()
Methode, um dieses Zeichen zu der hinzuzufügenpwd
Schnur. Da wir keine Leerzeichen zwischen den Zeichen haben wollen, geben wir als Trennzeichen an''
. - Um die obigen Schritte zum Generieren eines Passworts zu wiederholen, verwenden wir eine Schleife, die so viele Iterationen durchläuft, wie das Passwort lang ist.
Schritt 4: Passen Sie Ihre Passwörter basierend auf Einschränkungen an
Sie können die Passwortgenerierung anpassen, indem Sie prüfen, ob sie bestimmte Einschränkungen erfüllt.
Lassen Sie uns beispielsweise prüfen, ob die generierte Passwortzeichenfolge der Länge 12 die folgenden Einschränkungen erfüllt:
- Die Zeichenfolge
pwd
sollte mindestens ein Sonderzeichen enthalten. - Es sollte mindestens zwei Ziffern enthalten.
Im folgenden Code-Snippet können Sie die Bedingung ändern, dass die if
-Anweisung gemäß den von Ihnen definierten Einschränkungen überprüft.
while True:
pwd = ''
for i in range(pwd_length):
pwd += ''.join(secrets.choice(alphabet))
if (any(char in special_chars for char in pwd) and
sum(char in digits for char in pwd)>=2):
break
print(pwd)
# Sample output
lX]{`y47pM4t
In der obigen Codezelle verwenden wir an unendliche While-Schleife das läuft so lange wie der passwortstring pwd
erfüllt die Auflagen nicht. Wenn das generierte Passwort, pwd
die Bedingungen erfüllt, brechen wir aus der Endlosschleife aus.
Hier ist der vollständige Code für den Python-Passwortgenerator:
# necessary imports
import secrets
import string
# define the alphabet
letters = string.ascii_letters
digits = string.digits
special_chars = string.punctuation
alphabet = letters + digits + special_chars
# fix password length
pwd_length = 12
# generate a password string
pwd = ''
for i in range(pwd_length):
pwd += ''.join(secrets.choice(alphabet))
print(pwd)
# generate password meeting constraints
while True:
pwd = ''
for i in range(pwd_length):
pwd += ''.join(secrets.choice(alphabet))
if (any(char in special_chars for char in pwd) and
sum(char in digits for char in pwd)>=2):
break
print(pwd)
Fazit
Herzlichen Glückwunsch zum Abschluss dieses Tutorials! 🎉Du hast jetzt gelernt, wie man einen Passwortgenerator in Python programmiert.
- Um kryptografisch sichere Passwörter zu generieren, sollten Sie die verwenden Modul und nicht zufällig Modul.
- Ein starkes Passwort sollte ausreichend lang und zufällig sein, da es nicht einfach vorhergesagt oder generiert werden kann. Es sollte eine Kombination aus Groß- und Kleinbuchstaben, Ziffern und Sonderzeichen sein.
- Python wird mit einem eingebauten Schnur Modul, das alle Buchstaben, Ziffern und Sonderzeichen in den Konstanten bereitstellt ASCII-Buchstaben, Ziffern und Interpunktion, beziehungsweise. Verwenden Sie die Syntax: string.konstante um auf diese String-Konstanten zuzugreifen.
- Sie können die obigen Konstanten verwenden, um ein Alphabet (ein Satz aller Zeichen) für die Passwortgenerierung zu definieren.
- Sobald Sie ein Alphabet definiert haben, können Sie verwenden geheimnisse.wahl() um ein zufälliges Zeichen davon abzutasten. Um dies für die Länge des Passworts zu wiederholen, können Sie eine for-Schleife verwenden.
▶️ Lies als nächstes die Liste von Python-Webservern benutzen.