English | 简体中文 | 繁體中文 | Русский язык | Français | Español | Português | Deutsch | 日本語 | 한국어 | Italiano | بالعربية

Python-Basisanleitung

Flusskontrolle in Python

Python Funktion

Python Datentypen

Dateioperationen in Python

Python-Objekte und Klassen

Python-Daten und Zeit

Fortgeschrittene Kenntnisse von Python

Python-Referenzhandbuch

Python-Programm sucht nach dem Hash-Wert einer Datei

Python-Beispiel大全

In diesem Artikel werden Sie lernen, den Hash-Wert einer Datei zu finden und anzuzeigen.

Um diesen Beispiel zu verstehen, sollten Sie die folgenden Kenntnisse habenPython-ProgrammierungThema:

Hashfunktionen erhalten eine beliebige Anzahl von Daten und geben eine Bitzeichenkette festen Längen zurück. Der Ausgang der Funktion wird als Digest-Nachricht bezeichnet.

Sie werden weit verbreitet in der Kryptographie zur Authentifizierung verwendet. Es gibt viele Hashfunktionen, wie z.B. MD5zu erfahren-1u.ä. Bitte konsultieren Sie diese Seite, um mehr überHashfunktionen in der KryptographieMehr Informationen.

In diesem Beispiel erläutern wir, wie Dateien gehasht werden. Wir verwenden SHA-1Hash-Algorithmus. SHA-1Die Länge der Zusammenfassung beträgt160-Bit.

Wir geben nicht alle Daten aus der Datei auf einmal an, da einige Dateien sehr groß sind und nicht alle auf einmal in den Speicher passen. Das Teilen der Datei in Blöcke verbessert die Effizienz des Prozessespeichers.

Quellcode zur Suche nach Hash

# Python-Programm, um die SHA eines Dateis zu finden1Nachrichtenzusammenfassung
# Modul hashlib importieren
import hashlib
def hash_file(filename):
   """Diese Funktion gibt SHA-1Hash
    übergeben dem seine Datei """
   # Ein Hash-Objekt erstellen
   h = hashlib.sha1)
   # Datei im Binärbetrieb öffnen
   with open(filename, 'rb') as file:
       # Bis zum Ende der Datei durchlaufen
       chunk = 0
       while chunk != b''
           # Nur einmal lesen1024Bytes
           chunk = file.read(1024)
           h.update(chunk)
   # Rückgabe der hexadezimalen Darstellung der Zusammenfassung
   return h.hexdigest()
message = hash_file("track"1.mp3")
print(message)

Ausgabeergebnis

633d7356947eec543c50b76a1852f92427f4dca9

In diesem Programm öffnen wir die Datei im Binärbetrieb. Hashfunktionen sind im Modul hashlib verfügbar. Wir verwenden einen while-Schleife bis zum Ende der Datei. Wenn wir am Ende ankommen, erhalten wir ein leeres Byte-Objekt.

Bei jedem Durchlauf lesen wir nur1024Bytes (dieser Wert kann nach Bedarf geändert werden) und aktualisieren Sie den Hash-Algorithmus.

Schließlich verwenden wir die Methode hexdigest() zur Rückgabe der Zusammenfassung in der hexadezimalen Darstellung.

Python-Beispiel大全