„Wenn ein Arbeiter seine Arbeit gut machen will, muss er zuerst seine Werkzeuge schärfen.“ – Konfuzius, „Die Gespräche des Konfuzius. Lu Linggong“
Titelseite > Programmierung > Erstellen eines Passwortstärkeprüfers in Python

Erstellen eines Passwortstärkeprüfers in Python

Veröffentlicht am 01.11.2024
Durchsuche:669

Hallo nochmal und willkommen zum heutigen Tutorial. Heute werden wir mit Python einen einfachen Passwort-Sicherheitsprüfer erstellen. Wir erklären Ihnen Schritt für Schritt die Funktionsweise des Codes und geben Tipps, wie Sie Ihre Passwörter verbessern können.

Warum ist die Passwortstärke wichtig?

Ein schwaches Passwort erleichtert es Hackern, es mit verschiedenen Methoden zu erraten oder zu knacken, wodurch Ihre persönlichen Daten gefährdet werden. Ein sicheres Passwort ist:

  • Lang genug (mindestens 12 Zeichen)
  • Verwendet eine Mischung aus Buchstaben (sowohl Groß- als auch Kleinbuchstaben), Zahlen und Sonderzeichen
  • Vermeidet gebräuchliche oder vorhersehbare Wörter

Beginnen wir mit der Entwicklung eines Tools, das die Stärke eines Passworts anhand dieser Regeln bewertet.

Einrichten Ihrer Umgebung

Bevor wir mit dem Codieren beginnen, stellen Sie sicher, dass Python auf Ihrem Computer installiert ist.

Erstellen Sie eine neue Python-Datei, in die Sie Ihren Code schreiben. Laden Sie außerdem diese Datei herunter, die die gängigsten Passwörter enthält (wir werden später näher darauf eingehen) und speichern Sie die Datei im selben Verzeichnis wie Ihre Python-Datei für dieses Projekt.

Importieren Sie die erforderlichen Bibliotheken

import string

Das String-Modul stellt nützliche Konstanten zur Überprüfung von Zeichentypen wie Großbuchstaben, Ziffern und Sonderzeichen bereit.

Suchen Sie nach allgemeinen Passwörtern

def check_common_password(password):
    with open('common-password.txt', 'r') as f:
        common = f.read().splitlines()
    if password in common:
        return True
    return False

Diese Funktion prüft, ob das angegebene Passwort in einer Liste allgemeiner Passwörter enthalten ist.

  • Es öffnet sich eine Datei namens „common-password.txt“, die wir zuvor heruntergeladen haben.
  • Es liest alle Passwörter aus dieser Datei in eine Liste.
  • Wenn das eingegebene Passwort in dieser Liste enthalten ist, wird „True“ zurückgegeben (was bedeutet, dass es sich um ein allgemeines und daher schwaches Passwort handelt).
  • Andernfalls wird False zurückgegeben.

Warum ist das wichtig? Viele Hacker beginnen damit, gängige Passwörter auszuprobieren. Die Verwendung eines solchen macht Ihr Konto also sehr anfällig.

Bewerten Sie die Passwortstärke

def password_strength(password):
    score = 0
    length = len(password)

    upper_case = any(c.isupper() for c in password)
    lower_case = any(c.islower() for c in password)
    special = any(c in string.punctuation for c in password)
    digits = any(c.isdigit() for c in password)

    characters = [upper_case, lower_case, special, digits]

    if length > 8:
        score  = 1
    if length > 12:
        score  = 1
    if length > 17:
        score  = 1
    if length > 20:
        score  = 1

    score  = sum(characters) - 1

    if score 



Diese Funktion bewertet die Stärke des Passworts anhand mehrerer Kriterien.

  • Das Passwort erhält Punkte, wenn es länger als 8, 12, 17 und 20 Zeichen ist.
  • Es prüft, ob Großbuchstaben, Kleinbuchstaben, Sonderzeichen und Ziffern vorhanden sind.

Wie funktioniert die Bewertung?

  1. Es beginnt mit einer Punktzahl von 0.
  2. Für jede überschrittene Längenschwelle wird 1 Punkt hinzugefügt.
  3. Für jeden verwendeten Zeichentyp (Großbuchstabe, Kleinbuchstabe, Sonderbuchstabe, Ziffer) wird 1 Punkt hinzugefügt, minus 1.
  4. Basierend auf dem Endergebnis wird das Passwort als „Schwach“, „Okay“, „Gut“ oder „Stark“ kategorisiert.

Geben Sie dem Benutzer Feedback

def feedback(password):
    if check_common_password(password):
        return "Password was found in a common list. Score: 0/7"

    strength, score = password_strength(password)

    feedback = f"Password strength: {strength} (Score: {score}/7)\n"

    if score 



Diese Funktion kombiniert die beiden vorherigen Funktionen, um umfassendes Feedback zu geben.

  • Es prüft zunächst, ob das Passwort allgemein ist. Wenn ja, wird sofort eine Warnung zurückgegeben.
  • Wenn das Passwort nicht gebräuchlich ist, wird seine Stärke beurteilt.
  • Es liefert die Stärkebewertung und den Punktestand.
  • Wenn das Passwort schwach ist (Score

Hauptprogramm

password = input("Enter the password: ")
print(feedback(password))

In diesem letzten Teil wird der Benutzer einfach aufgefordert, ein Passwort einzugeben, und dann wird das Feedback gedruckt.

Programm in Aktion

Building a Password Strength Checker in Python

Abschluss

Das Erstellen sicherer Passwörter ist ein wesentlicher Bestandteil der Aufrechterhaltung der Online-Sicherheit. Mit diesem Tool können Sie ganz einfach beurteilen, wie sicher Ihre Passwörter sind. Dieses einfache Programm zeigt, wie grundlegende Python-Programmierung mit Cybersicherheitsprinzipien kombiniert werden kann, um ein reales Problem zu lösen.

Fühlen Sie sich frei, mit dem Code zu experimentieren und weitere Funktionen hinzuzufügen.

Viel Spaß beim Codieren und bleiben Sie sicher!

Freigabeerklärung Dieser Artikel ist abgedruckt unter: https://dev.to/immah/building-a-password-strength-checker-in-python-47om?1 Bei Verstößen wenden Sie sich bitte an [email protected], um ihn zu löschen
Neuestes Tutorial Mehr>

Haftungsausschluss: Alle bereitgestellten Ressourcen stammen teilweise aus dem Internet. Wenn eine Verletzung Ihres Urheberrechts oder anderer Rechte und Interessen vorliegt, erläutern Sie bitte die detaillierten Gründe und legen Sie einen Nachweis des Urheberrechts oder Ihrer Rechte und Interessen vor und senden Sie ihn dann an die E-Mail-Adresse: [email protected] Wir werden die Angelegenheit so schnell wie möglich für Sie erledigen.

Copyright© 2022 湘ICP备2022001581号-3