Heim > Backend-Entwicklung > Python-Tutorial > Was ist das coolste Programm, das Sie jemals in Python gemacht haben?

Was ist das coolste Programm, das Sie jemals in Python gemacht haben?

WBOY
Freigeben: 2023-09-08 21:21:03
nach vorne
967 Leute haben es durchsucht

Was ist das coolste Programm, das Sie jemals in Python gemacht haben?

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.

Was ist Passwort-Hashing?

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.

Schritte zur Verwendung

  • 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

Schritt 1: Erstellen Sie Funktionen für verschiedene Hashing-Methoden

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.

Grammatik

def hash_with_MD5(message):
   print ("MD5:", hashlib.md5(message).hexdigest()) 
Nach dem Login kopieren

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.

Algorithmus

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

Beispiel

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)
Nach dem Login kopieren

Ausgabe

Hashed with MD5: 6c60b3cfe5124f982eb629e00a98f01f
Hashed with SHA:
15e6e9ddbe43d9fe5745a1348bf1535b0456956d18473f5a3d14d6ab06737770
Hashed with blake2b:
109f6f017d7a77bcf57e4b48e9c744280ae7f836477c16464b27a3fe62e1353c70ec4c7f938080
60ee7c311094eede0235a43151c3d2b7401a3cb5a8f8ab3fbb 
Nach dem Login kopieren

Schritt 2: Holen Sie sich die vom Benutzer eingegebene Passwortzeichenfolge

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.

Grammatik

password=input("message").encode()
Nach dem Login kopieren

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.

Algorithmus

Schritt 1 – Verwenden Sie die Funktion input(), um Benutzereingaben zu empfangen

Schritt 2 – Eingabe in codiertes Format konvertieren

Beispiel

password=input(“Enter the password for hashing: ”).encode()
Nach dem Login kopieren

Ausgabe

Enter the password for hashing: Python 
Nach dem Login kopieren

Schritt 3: Akzeptieren Sie Benutzereingaben, um die Hashing-Methode auszuwählen

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.

Grammatik

while True:
   choice = input("Enter choice(1/2/3): ")
      if choice in ('1', '2', '3'):
      try:
      ………………… 
Nach dem Login kopieren

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.

Algorithmus

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

Beispiel

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")
Nach dem Login kopieren

Ausgabe

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 
Nach dem Login kopieren

Fazit

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!

Quelle:tutorialspoint.com
Erklärung dieser Website
Der Inhalt dieses Artikels wird freiwillig von Internetnutzern beigesteuert und das Urheberrecht liegt beim ursprünglichen Autor. Diese Website übernimmt keine entsprechende rechtliche Verantwortung. Wenn Sie Inhalte finden, bei denen der Verdacht eines Plagiats oder einer Rechtsverletzung besteht, wenden Sie sich bitte an admin@php.cn
Beliebte Tutorials
Mehr>
Neueste Downloads
Mehr>
Web-Effekte
Quellcode der Website
Website-Materialien
Frontend-Vorlage