Passwort in Python generieren

Namita Chaudhary 21 Juni 2023
  1. Passwort in Python generieren
  2. Generieren Sie ein Passwort mit dem Random-Modul in Python
  3. Generieren Sie ein Passwort mit dem Secrets-Modul in Python
  4. Abschluss
Passwort in Python generieren

Wir hören oft von Datenschutzverletzungen, Cyber-Bedrohungen und Cyber-Angriffen auf Systeme; Daher sind die Sicherheit und Vertraulichkeit der Daten zu einem sehr wichtigen Teil unseres Lebens geworden. Nun, eine Möglichkeit, die Daten zu sichern, besteht darin, sie mit Passwörtern zu sichern.

In diesem Artikel werden wir die Passwortgenerierung in Python besprechen.

Passwort in Python generieren

Passwörter kommen oft ins Spiel, wenn wir über Sicherheit sprechen. Da diese Passwörter verwendet werden, um so viele wichtige Daten zu sichern, müssen sie für Hacker schwer zu knacken sein.

Die Angreifer versuchen oft, solche Passwörter zu knacken, indem sie wahllos verschiedene Zeichenkombinationen ausprobieren und das richtige Passwort erraten.

Wenn wir Menschen Passwörter manuell generieren, sind sie oft leicht zu knacken. Viele versuchen, ihre Namen mit Zahlen und Symbolen zu kombinieren, die für Hacker ein Kinderspiel sind.

Daher sollten diese Passwörter so erstellt werden, dass sie nicht leicht zu knacken sind. Wir haben einige Methoden zur Passwortgenerierung in Python, die schwer zu knacken und einfach zu erstellen sind.

Lassen Sie uns nun einige von ihnen im Detail besprechen.

Generieren Sie ein Passwort mit dem Random-Modul in Python

Das random-Modul in Python generiert zufällige Elemente aus einer Liste. Außerdem verwenden wir die Methode choice() aus dem Modul random von Python.

Die Methode choice() wählt die zufälligen Elemente aus einer Liste aus. Daher wird die Methode random.choice() unser Hauptfang bei der Generierung eines Passworts mit dieser Methode sein.

Jetzt müssen Sie sich jedoch fragen, was diese Liste ist, über die wir sprechen. Die Liste, aus der die Methode random.choice() auswählt, enthält also alle Klein- und Großbuchstaben, Ziffern und Satzzeichen.

Daher enthalten die generierten Passwörter eine zufällige Reihenfolge dieser Zeichen, die schwer zu knacken wäre.

Jetzt verwenden wir das Modul string in Python, um alle Kleinbuchstaben, Großbuchstaben, Ziffern und Satzzeichen zu erhalten. Die Methode ascii.lowercase des Moduls string wird verwendet, um alle Kleinbuchstaben des englischen Alphabets zu erhalten, und ascii.uppercase wird verwendet, um alle Großbuchstaben des englischen Alphabets zu erhalten.

Um die Ziffern und Satzzeichen zu erhalten, verwenden wir die Methoden string.digits bzw. string.punctuation aus dem string-Modul in Python.

Sehen wir uns den Code zum Generieren eines Passworts mit den Modulen random und string in Python an.

import random
import string


def passwordGen(length):
    lower = string.ascii_lowercase
    upper = string.ascii_uppercase
    digits = string.digits
    symbols = string.punctuation

    comb = lower + upper + digits + symbols

    result_str = "".join(random.choice(comb) for i in range(length))
    print("Password of length ", length, "is:", result_str)


passwordGen(12)
passwordGen(10)
passwordGen(5)

Ausgang:

Password of length  12 is: ^)n34W6~0Wdx
Password of length  10 is: g&#'G-T\vn
Password of length  5 is: &g/S3

Wie Sie in der obigen Ausgabe sehen können, haben wir daher drei Passwörter unterschiedlicher Länge, die einzigartig und schwer zu knacken sind.

Allerdings haben wir im Codebeispiel das random und das string Modul importiert. Danach haben wir eine Funktion passwordGen erstellt, die eine Länge als Parameter nimmt und ein Passwort dieser bestimmten Länge ausgibt.

Innerhalb der Funktion haben wir alle Buchstaben, Ziffern und Symbole in verschiedenen Variablen gespeichert. Nun haben wir all diese Zeichen zu einem einzigen String zusammengefasst und in einer Variablen comb gespeichert.

Nun haben wir mit random.choice(comb) zufällig Zeichen aus dem String comb für jeden Index bis zur angegebenen Länge ausgewählt und dann die Ergebnisse ausgegeben.

Generieren Sie ein Passwort mit dem Secrets-Modul in Python

Ein weiteres Modul in Python wird verwendet, um aus Sicherheitsgründen starke kryptografische Zufallszahlen zu generieren. Dieses Modul ist als Geheimnis-Modul bekannt; Dieses Modul ist jedoch ab Python-Version 3.6 verfügbar.

Dieses Geheimnis-Modul bietet die sicherste Zufälligkeitsquelle eines Betriebssystems; Daher sind die generierten Passwörter sicherer und effektiver. Lassen Sie uns nun das Programm zum Generieren des Passworts mit Pythons secrets-Modul besprechen.

Das Programm ähnelt dem zuvor besprochenen, aber die Verwendung des Moduls Geheimnisse ist sicherer und effektiver bei der Sicherung unserer Systeme.

import string
import secrets


def passwordGen(len):
    combination = string.ascii_letters + string.digits + string.punctuation
    password = "".join(secrets.choice(combination) for i in range(len))
    print("Password is: ", password)


passwordGen(12)
passwordGen(8)

Ausgang:

Password is:  Gz!*j3p4xd$Z
Password is:  5#;CSIa7

Daher haben wir, wie Sie in der Ausgabe sehen können, eine Methode passwordGen erstellt, in der wir eine Variable combination haben, die alle Buchstaben, Ziffern und Satzzeichen kombiniert, um ein Passwort mit den Methoden der string zu erstellen. Modul in Python.

Danach haben wir die Methode secrets.choice(combination) verwendet und ihr alle Zeichen zur Auswahl gegeben, um ein Passwort mit einer bestimmten Länge von len zu erstellen und es dann zu drucken. Daher führen wir die Passwortgenerierung in Python mit dem Modul secrets durch.

Abschluss

In diesem Artikel haben wir besprochen, wie man Passwörter in Python generiert. Da Sicherheit in dieser Zeit eine wichtige Anforderung ist, ist die Generierung von sicheren und geschützten Passwörtern sehr wichtig.

Python hat zu diesem Zweck zwei Module, nämlich random und secrets, die helfen, schwierige und nicht so einfach zu knackende Passwörter zu generieren. Beide Module nehmen jedoch Hilfe vom Modul string, um eine Kombination von Zeichen zur Auswahl aufzunehmen.

Das Modul secrets ist jedoch ab Python Version 3.6 implementiert, gilt aber immer noch als sicherer Weg, um Passwörter zu generieren.

Verwandter Artikel - Python String