Das coolste Python-Programm, das ich je gemacht habe, ist der Python-Passwort-Hasher. Lassen Sie uns zunächst verstehen, was Python-Passwort-Hashing ist.
Python-Passwort-Hashing ist eine fortschrittliche Form der Verschlüsselung, mit der Passwörter sicher online gespeichert werden können. In der heutigen vernetzten Welt gehören Benutzerkennwörter zu den vertraulichsten Informationen im Internet. Wandeln Sie eine Passwortzeichenfolge mithilfe verschiedener Hashing-Algorithmen, die in meinem Programm verwendet werden, in eine Zeichenfolge aus zufälligen Zeichen um. Der Benutzer wird angewiesen, eine Passwortzeichenfolge einzugeben und dann den entsprechenden zu verwendenden Hashing-Algorithmus auszuwählen. Anschließend wird der Ausgabe-Hash angezeigt, der online gespeichert werden kann.
Erstellen Sie Funktionen für verschiedene Hashing-Methoden
Akzeptiert die vom Benutzer eingegebene Passwortzeichenfolge
Benutzereingaben akzeptieren, um die Hashing-Methode auszuwählen
Zeichenfolge konvertieren und Ausgabe bereitstellen
Zuerst erstellen wir verschiedene Funktionen, die die Passwortzeichenfolge als Parameter verwenden und sie in Chiffretextform umwandeln. Der Chiffretext ist eigentlich die gehashte Form der Daten. Verschiedene Funktionen enthalten unterschiedliche Hashing-Algorithmen.
def hash_with_MD5(message): print ("MD5:", hashlib.md5(message).hexdigest())
Diese Funktion nimmt eine Nachricht als Parameter und wandelt sie mithilfe des MD5-Hashing-Algorithmus in Chiffretext um. Drucken Sie dann den Hash-Digest für den Benutzer aus. Wenn Sie statt MD5 einen anderen Hash-Algorithmus verwenden, ist die Syntax dieselbe, nur der Aufruf der Hash-Funktion ändert sich.
Schritt 1 – Definieren Sie verschiedene Funktionen für verschiedene Hashing-Algorithmen
Schritt 2 – Verwenden Sie die vom Benutzer eingegebene Zeichenfolge als Parameter der Funktion
Schritt 3 – Drucken Sie im Hauptteil der Funktion den Hex-Digest des gehashten Passworts aus
def hash_with_MD5(message): encoded=message.encode() print ("Hashed with MD5:", hashlib.md5(encoded).hexdigest()) def hash_with_SHA(message): encoded=message.encode() print ("Hashed with SHA:", hashlib.sha256(encoded).hexdigest()) def hash_with_blake(message): encoded=message.encode() print ("Hashed with blake2b:", hashlib.blake2b(encoded).hexdigest()) message='tutorialspoint' hash_with_MD5(message) hash_with_SHA(message) hash_with_blake(message)
Hashed with MD5: 6c60b3cfe5124f982eb629e00a98f01f Hashed with SHA: 15e6e9ddbe43d9fe5745a1348bf1535b0456956d18473f5a3d14d6ab06737770 Hashed with blake2b: 109f6f017d7a77bcf57e4b48e9c744280ae7f836477c16464b27a3fe62e1353c70ec4c7f938080 60ee7c311094eede0235a43151c3d2b7401a3cb5a8f8ab3fbb
Der nächste Schritt besteht darin, vom Benutzer Eingaben für das zu speichernde Passwort einzuholen. Aus Sicherheitsgründen muss das zu speichernde Passwort gehasht werden und das vom Benutzer eingegebene Passwort muss vor dem Hashing verschlüsselt werden, um sicherzustellen, dass es für die Weitergabe an die Hash-Funktion geeignet ist. Dieser Codierungsvorgang wird von der Funktion encode() ausgeführt.
password=input("message").encode()
Das Passwort, das wir vom Benutzer über die Funktion input() erhalten, kann nicht zum Hashing verwendet werden, daher wird es mit der Funktion encode() codiert. Diese beiden Schritte werden hier zur einfacheren Codierung und Vereinfachung in einem Befehl zusammengefasst.
Schritt 1 – Verwenden Sie die Funktion input(), um Benutzereingaben zu empfangen
Schritt 2 – Eingabe in codiertes Format konvertieren
password=input(“Enter the password for hashing: ”).encode()
Enter the password for hashing: Python
Wir geben Benutzern die Möglichkeit zu entscheiden, welchen Hashing-Algorithmus wir zum sicheren Hashen von Passwörtern verwenden. Verschiedene Methoden haben unterschiedliche Vor- und Nachteile. Deshalb lassen wir Benutzer die Methode auswählen, die für ein bestimmtes Passwort am besten funktioniert. Hier verwenden wir eine einfache If-else-Struktur, um die vom Benutzer eingegebene Auswahl zu bestimmen.
while True: choice = input("Enter choice(1/2/3): ") if choice in ('1', '2', '3'): try: …………………
Hier fragen wir den Benutzer, welche Art von Hash er durchgeführt hat, zusammen mit einer Liste von Optionen. Die Eingabe wird dann mit einer Liste gültiger Eingaben verglichen und bei „true“ wird die erforderliche Aktion ausgeführt. Andernfalls bricht die Programmsteuerung aus der Schleife aus.
Schritt 1 − Bitten Sie den Benutzer um Eingabe
Schritt 2 – Überprüfen Sie, ob die Benutzereingabe gültig ist
Schritt 3 – Ausgewählte Aktion ausführen
Schritt 4 – Fragen Sie, ob Sie mehr tun möchten
import hashlib def hash_with_MD5(password): #encoded=password.encode() print ("Hashed with MD5:", hashlib.md5(password).hexdigest()) def hash_with_SHA(password): #encoded=password.encode() print ("Hashed with SHA:", hashlib.sha256(password).hexdigest()) def hash_with_blake(password): #encoded=password.encode() print ("Hashed with blake2b:", hashlib.blake2b(password).hexdigest()) print("Select hashing operation.") print("1.MD5") print("2.SHA") print("3.blake") while True: # take input from the user choice = input("Enter choice(1/2/3): ") # check if choice is one of the four options if choice in ('1', '2', '3'): try: password=input('Enter the password for hashing: ').encode() except ValueError: print("Invalid input. Please enter a string.") continue if choice == '1': hash_with_MD5(password) elif choice == '2': hash_with_SHA(password) elif choice == '3': hash_with_blake(password) # checking if user wants another calculation # break the while loop if answer is no next_calculation = input("Let's do next calculation? (yes/no): ") if next_calculation == "no": break else: print("Invalid Input")
Select hashing operation. 1.MD5 2.SHA 3.blake Enter choice(1/2/3): 2 Enter the password for hashing:Python Hashed with SHA: 18885f27b5af9012df19e496460f9294d5ab76128824c6f993787004f6d9a7db Let's do next calculation? (yes/no): yes Enter choice(1/2/3): 1 Enter the password for hashing:Tutorialspoint Hashed with MD5: da653faa9f00528be9a57f3474f0e437 Let's do next calculation? (yes/no): no
Hier erstellen wir also ein Programm, um Benutzerpasswörter zu hashen und zur sicheren Speicherung zurückzugeben. Das Programm läuft erfolgreich und erfüllt einen wichtigen Zweck. Weitere Änderungen können vorgenommen werden, um neuere Funktionen zu implementieren, was wir später tun werden.
Das obige ist der detaillierte Inhalt vonWas ist das coolste Programm, das Sie jemals in Python gemacht haben?. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!