Daten sind ein unverzichtbares Gut in der heutigen digitalen Welt. Mehr als acht Millionen Menschen werden jedes Jahr Opfer von Hackern und täglich finden mehr als 2200 Cyberangriffe statt. Bei einer so alarmierenden Rate von Cyberkriminalität wird es zu einer Priorität, Best Practices zum Schutz vor Hackern anzuwenden. Einer der wichtigsten Aspekte eines jeden Kontos ist sein Passwort.
Wenn ein Hacker Ihr Passwort kompromittiert, kann er innerhalb weniger Minuten auf Ihre persönlichen Daten und sogar auf Ihr Bankkonto zugreifen. Obwohl dies beängstigend klingt, können Sie lernen, wie Sie Ihre Passwörter mithilfe von Best Practices sichern, indem Sie Ihr eigenes Python-Programm erstellen, um seine Stärke zu überprüfen.
Unterschiedliche Regeln zum Festlegen starker Passwörter
Einige starke Passwortregeln, die Sie möglicherweise implementieren möchten, sind:
- Das Passwort sollte mindestens 12 Zeichen lang sein. Je länger das Passwort ist, desto geringer ist die Wahrscheinlichkeit, dass es durch einen Brute-Force-Angriff kompromittiert wird.
- Das Passwort sollte eine Kombination aus Kleinbuchstaben, Großbuchstaben, Zahlen und Sonderzeichen enthalten.
- Vermeiden Sie wiederholte Zeichen im Passwort.
- Es sollte keine persönlichen Daten wie Namen, Telefonnummern oder irgendetwas enthalten, das jemand leicht erraten kann.
- Es sollte kein allgemeines Wörterbuchwort sein, obwohl Sie Wörter in längeren Passwortsätzen verwenden können.
- Das Passwort sollte nicht für mehrere Konten gleich sein. Du kannst einen Passwortmanager einrichten verschiedene Passwörter für verschiedene Websites automatisch auszufüllen, ohne sich jedes einzelne merken zu müssen.
Es gibt verschiedene Möglichkeiten Erstellen Sie ein unknackbares Passwort, an das Sie sich erinnern können. Einige von ihnen verwenden Kinderreime, Zitate aus Filmen, Fachjargon und mehr.
So überprüfen Sie Ihre Passwortstärke mit Python
Sie können ein Programm zum Testen der Passwortstärke erstellen, indem Sie die oben genannten Merkmale überprüfen. Für diesen Build benötigen Sie zwei Module: Schnur Und Sammlungen.
Sie können auch die verwenden pass Modul, um ein Passwort zu verbergen, während der Benutzer es eingibt. Dies hilft, Ihr Passwort zu schützen, wenn Sie es öffentlich eingeben müssen. Um getpass in Ihrer lokalen Umgebung zu installieren, öffnen Sie ein Terminal und geben Sie Folgendes ein:
Pip Installieren getpass4
Mit der Klasse String können Sie prüfen, ob es sich bei einem Zeichen um einen Buchstaben, eine Ziffer oder ein Symbol handelt. Sie können Sammlungen verwenden, um zu überprüfen, ob das Passwort Zeichen enthält, die sich wiederholen.
Verwenden Sie das Schlüsselwort def, um eine Funktion mit dem Namen zu definieren check_password_strength() und übergeben Sie das erhaltene Passwort als Parameter.
Initialisieren Sie sechs Variablen: Lower_alpha_count, obere_alpha_zahl, Anzahl_Anzahl, special_char_count, Länge, gemeinsam bis Null. Diese prüfen das Vorhandensein von Kleinbuchstaben, Großbuchstaben, Ziffern, Sonderzeichen, Länge, Wiederholung von Zeichen in einem Passwort.
Übergeben Sie das Passwort, das Sie vom Benutzer erhalten, an die Liste() Funktion, um es in eine Liste von Zeichen umzuwandeln. Iterieren Sie mit der for-Schleife über jedes Zeichen der Liste. Verwenden Sie die if-else-Anweisung, um zu prüfen, ob es sich bei dem Zeichen um einen Kleinbuchstaben, einen Großbuchstaben, eine Zahl oder ein Sonderzeichen handelt, und aktualisieren Sie die Zählung entsprechend.
Sie können davon ausgehen, dass alles andere als Alphabet oder Zahl ein Sonderzeichen ist. Für weitere Einschränkungen können Sie Sonderzeichen als Zeichenfolge speichern und prüfen, ob das Zeichen des Kennworts darin enthalten ist. Darüber hinaus erlauben einige Websites die Verwendung von Leerzeichen in einem Passwort. Sie können eine andere Variable setzen und inkrementieren oder in der Sonderzeichenzählung selbst berücksichtigen.
importieren Schnur
importieren Sammlungendefcheck_password_strength(Passwort):
lower_alpha_count = upper_alpha_count = number_count = special_char_count = length = common = 0
für Zeichen ein Liste(Passwort):
Wennverkohlen in string.ascii_lowercase:
Lower_alpha_count += 1
elf verkohlen in string.ascii_uppercase:
oberer_alpha_count += 1
elf verkohlen in string.digits:
number_count += 1
anders:
special_char_count += 1
Sie benötigen eine Passwortliste oder Datenbank, um zu überprüfen, ob das Passwort des Benutzers üblich ist. Sie können eine Liste mit einer Million der beliebtesten Passwörter von herunterladen Common-Credential GitHub-Repository von SecLists.
Speichern Sie die Textdatei unter gemeinsame_passwort_liste.txt. Verwenden Sie die with-Anweisung, um eine Ausnahmebehandlung durchzuführen und die Kennwortdatei im Lesemodus zu öffnen. Verwenden Sie die lesen() Funktion, um den in der Datei vorhandenen Inhalt abzurufen und in einer Variablen namens content zu speichern.
Wenn das vom Benutzer eingegebene Passwort nicht in der gemeinsamen Passwortliste vorhanden ist, erhöhen Sie den Wert der gemeinsamen Variablen um eins.
mitoffen("gemeinsame_passwort_liste.txt", 'R') alsDatei:
Inhalt = file.read()
wenn Passwort nicht im Inhalt:
gemeinsam += 1
Um die Länge des Passworts zu überprüfen, übergeben Sie es einfach an die len() Funktion und prüfen Sie, ob sie größer oder gleich zwölf ist. Wenn dies der Fall ist, erhöhen Sie den Wert der Längenvariablen.
Wennlen(Passwort) >= 12:
Länge += 1
Um die Wiederholung von Zeichen im Passwort zu überprüfen, verwenden Sie die Counter-Unterklasse von Collections. Counter ist eine ungeordnete Sammlung von Schlüssel- und Wertpaaren, wobei der Schlüssel das Element selbst und der Wert die Anzahl der Elemente ist.
Verwenden Sie die List Comprehension-Methode, um eine Liste wiederholter Zeichen aus dem Wörterbuch zu erstellen, das Sie mithilfe von Sammlungen erhalten. Iterieren Sie über das Wörterbuch und prüfen Sie, ob die Anzahl der Zeichen größer als eins ist. Wenn die Anzahl größer ist, hängen Sie sie an eine Liste an und speichern Sie sie wiederholt.
countOfWords = Sammlungen. Zähler (Passwort)
repeated = [i for i in countOfWords if countOfWords[i] > 1]
Nachdem Sie nun die Werte der einzelnen Merkmale haben, initialisieren Sie eine Variable namens Stärke auf Null. Wie der Name schon sagt, sehen Sie diese Variable, um die Stärke des Passworts zu überprüfen. Das Bewertungssystem besteht aus sieben Punkten, ein Punkt für jede Einbeziehung eines Zeichens und charakteristisch für ein starkes Passwort.
Überprüfen Sie, ob die Anzahl der Kleinbuchstaben, Großbuchstaben, Zahlen und Sonderzeichen größer oder gleich eins ist, und erhöhen Sie die Stärke für jede Anwesenheit um eins. Überprüfen Sie auf ähnliche Weise, ob die Länge und die gemeinsame Variable gleich eins sind und ob die Länge des wiederholten Zeichens gleich Null ist. Wenn wahr, den Wert der Stärkevariablen erhöhen.
Stärke = 0
if lower_alpha_count >= 1:
Stärke += 1wenn upper_alpha_count >= 1:
Stärke += 1wenn number_count >= 1:
Stärke += 1wenn special_char_count >= 1:
Stärke += 1wenn Länge == 1:
Stärke += 1wenn gemeinsam == 1:
Stärke += 1
Wennlen(wiederholt)== 0:
Stärke += 1
Verwenden Sie die mehrzeilige Zeichenfolge (drei Anführungszeichen), um mehrere Textzeilen in einer einzigen Druckanweisung anzuzeigen. Verwenden Sie die wörtliche Sring-Interpolation oder f-Strings oder, um die Anzahl der Merkmale anzuzeigen. Dies erreichen Sie schriftlich F am Anfang der Zeichenfolge in der Druckanweisung und schließen Sie die Variablen in geschweifte Klammern ein. Sie verwenden die Zeichenfolgeninterpolation, da der Inhalt der Druckanweisung eine Zeichenfolge ist, der Wert der Variablen jedoch eine Ganzzahl ist.
drucken(F"""Ihr Passwort hat:-
{lower_alpha_count} Kleinbuchstaben
{upper_alpha_count} Großbuchstaben
{number_count} Ziffern
{special_char_count} Sonderzeichen
{Länge Länge
{gemein} gebräuchlich
{wiederholt} wiederholt
"Passwortwert: {Stärke}/7""")
Verwenden Sie schließlich die Eingabeanweisung, um das Kennwort vom Benutzer zu erhalten und an die weiterzugeben check_password_strength Funktion. Basierend auf der Stärke des Passworts zeigt das Programm die Punktzahl zusammen mit der Anzahl der im Passwort vorhandenen Merkmale an.
Passwort = Eingabe ("Geben Sie das Passwort ein: ")
check_password_strength (Passwort)
Ausgabe von Password Strength Checker
Bei der Eingabe eines starken Passworts basierend auf den genannten Merkmalen zeigt das Python-Programm die Stärke als 7/7 an:
Bei der Eingabe eines schwachen und gängigen Passworts zeigt das Python-Programm die Stärke als 1/7 an:
Passwörter und Sicherheit
Während Sie das stärkste Passwort aller Zeiten festlegen können, gibt es andere Möglichkeiten, wie ein Hacker in Ihr System eindringen kann. 95 % der Cyberangriffe sind auf menschliches Versagen zurückzuführen. Eine der häufigsten Methoden, die Hacker anwenden, ist Social Engineering. Der Hacker kann Ihnen gefälschte Links zu Social-Media- oder E-Commerce-Websites senden, die legitim aussehen, aber Ihr Passwort kompromittieren, wenn Sie sie verwenden.
Um sich vor diesen Techniken zu schützen, stellen Sie sicher, dass Sie nur Links von einer vertrauenswürdigen Quelle öffnen und wichtige Informationen nur sicher eingeben oder speichern.