Was ist MD5 Hash in Python?
Eine der Hash -Methoden, die vom Hashlib -Modul von Python bereitgestellt werden. Um die Hash -Berechnungen durchzuführen, wird sie hauptsächlich in kryptografischen Funktionen verwendet. Hash kann auch verwendet werden, um Caches von massiven Datensätzen zu erstellen, Kennwörter zu überprüfen, Fingerabdrücke zu überprüfen, die Integrität von Dateien usw. zu überprüfen usw. Es dauert eine Byte -Zeichenfolge als Eingabe und gibt eine hexadezimale Zeichenfolge als codierter Wert aus. Ein 128-Bit-Hash-Wert wird erzeugt, wenn die String-Daten an einen MD5-Hash codiert werden. Sie sollten vorsichtig sein, wenn Sie die Charaktercodierung auswählen, um die Textdaten vor dem Hashing in Binary umzuwandeln, da Hashing -Algorithmen häufig eher mit binären Daten als mit Textdaten funktionieren. Der Hash führt auch zu binären Daten.
Die Funktionen, die mit MD5 Hash verbunden sind, sind:
kodieren(): Es erstellt Bytes aus der Zeichenfolge, damit die Hash -Funktion sie verwenden kann.
verdauen(): Es gibt die codierten oder verschlüsselten Daten in Form von Bytes zurück.
hexDigest (): Das hexadezimale Format der codierten Daten wird mit dieser Funktion zurückgegeben.
Vorteile von MD5
So verwenden Sie MD5 Hash in Python?
So werden im folgenden Abschnitt MD5 von String -Objekten und -dateien gezeigt.
Berechnung des MD5 -Hash -Wertes einer Zeichenfolge
Die Berechnung des Hash -Werts eines String -Objekts in Python umfasst im Allgemeinen vier Schritte:
Die String -Variable "String" ist im vorherigen Skript mit binärer Codierung definiert. Der „Hashlib.Die MD5 -”-Methode kann daher verwendet werden, um die Zeichenfolge direkt zu verschlüsseln. Die codierte Ausgabe wird mit der Digest -Funktion angezeigt. Eine binäre Zeichenfolge ist möglicherweise nicht immer als Eingabe verfügbar. In solchen Szenarien müssen Sie zuerst die Daten in eine binäre Sequenz umwandeln, bevor Sie sie an den MD5 -Hash -Algorithmus weitergeben.
Wir sehen uns jetzt einige Beispiele an, um den MD5 -Hash eines String -Objekts zu berechnen.
Beispiel 1: Drucken der Zeichenfolgedaten in Bytes, die dem MD5 -Hash entsprechen
Um die MD5 -Funktion zu verwenden, müssen wir zuerst das Hashlib -Modul importieren. In der MD5 -Funktion übergeben wir eine Stringdaten. Dann drucken wir in Form von MD5 -Hash -Wert sowie in Form von Bytes.
Die Hash -Funktion kann die Bytes als Eingabe akzeptieren. Somit übergeben wir die Zeichenfolgen als Bytes an die Funktion md5 () im vorherigen Code. Die MD5 -Hash -Methode verschlüsselt dann die gelieferten Daten. Schließlich verwenden wir die Digest () -Funktion, um das Byte -Äquivalent der MD5 -Hash -codierten Zeichenfolge zu erzeugen.
Beispiel 2: Drucken der Zeichenfolgedaten in hexadezimaler Äquivalent zu MD5 -Hash
Jetzt drucken wir die Daten in Hexadezimal, nachdem wir sie in MD5 Hash codiert haben. Im vorherigen Beispiel verwenden wir "B" kurz vor dem String -Wert, um die Zeichenfolge in Bytes zu codieren. Hier wenden wir die Funktion codode () auf der Zeichenfolge an, um sie zu codieren. Beide Ansätze liefern identische Ergebnisse. Wir können jedoch das Codierungsformat unserer Wahl mithilfe der Funktion code () angeben.
Hier verwenden wir die Funktion codode (), um die angegebenen Zeichenfolgedaten in ein Byte zu transformieren, damit sie an eine Hash -Funktion übergeben werden kann, die sie akzeptieren würde. Dann ist es mit der MD5 -Funktion codiert. Schließlich wird sein hexadezimaler Wert mit der Hexidest () -Methode zurückgegeben.
Berechnung des MD5 -Hash -Wertes einer Datei
Das integrierte Modul-Hashlib von Python kann auch verwendet werden, um den MD5-Hash einer Datei zu erstellen
Beispiel 1: Der MD5 -Hash -Wert einer kleinen Datei in Python
Sie sollten sich bewusst sein, dass einfach ein Dateinamen im Hashlib angeben wird.MD5 () -Funktion gibt wie im folgenden Beispiel den Hash -Wert der Datei nicht zurück.
Der zurückgegebene Wert ist nicht der MD5 -Hash unserer Datei. Aber es ist der MD5 -Hash -Wert des „Python.txt ”String.
Um den richtigen MD5 -Hash -Wert der Datei zu erhalten, müssen Sie zuerst die Datei in Bytes lesen. Es ist einfach, wir müssen nur den Inhalt der Datei lesen und in Bytes umwandeln. Das Byte wird dann an Hashlib übergeben.MD5 (), um den MD5 -Hash -Wert zu erhalten.
Wie zu sehen ist, berechnet die Funktion den MD5 -Hash -Wert der Datei erfolgreich.
Beispiel 2: Der MD5 -Hash -Wert einer großen Datei in Python
Wenn die Datei 10 GB groß ist, sagen wir, es handelt sich um eine große Protokolldatei, ein Verkehrsdump, ein Videospiel usw. In einem solchen Fall können wir die großen Dateien in Bytesbrocken lesen, was eine speichereffiziente Methode zum Berechnen von MD5-Hashes darstellt. Die Größe der Stücke hängt von Ihrer Anforderung, der Größe Ihrer Datei, dem Speicher Ihres Systems usw. ab. Daher verarbeiten wir in diesem Verfahren die Brocken nacheinander und aktualisieren gleichzeitig den Hash. Infolgedessen wird der MD5 -Hash während dieses Prozesses 100 -mal aktualisiert, wenn 100 solche Dateibrocken vorhanden sind.
Wir lesen die Daten mithilfe der Hilfe von einer Weile -Schleife in Stücke.
Vergleichen und validieren Sie den MD5 -Hash einer Datei
Auf dem Server oder mit einer Logik in Ihrem Code sollten wir den MD5 -Hash der Daten oder Datei validieren. Wir erstellen den MD5 -Hash der Originaldatei erneut, um den Hash zu überprüfen. Vergleichen Sie danach die MD5 -Werte, die von der Quelle und uns generiert werden.
Als beide Werte stimmten der Wert von Source_MD5 und der MD5 -Hash -Wert unserer Datei überein. Das bedeutet, dass der MD5 -Hash -Wert verifiziert wird.
Abschluss
Wir haben zuerst die Hash -Funktionen in diesem Tutorial erfahren. Wir haben erklärt, was Hashlib.MD5 () -Funktion ist und welche Funktionen damit verbunden sind. Wir haben einige Vorteile und Anwendungen von MD5 -Hash -Funktionen erörtert. Wir haben gelernt, wie man den Hashlib benutzt.MD5 () -Methode zur Berechnung des MD5 -Hash -Werts einer String. Wir haben auch einige Beispiele implementiert, um Ihnen beizubringen, wie Sie den MD5 -Hash -Wert kleiner und großer Dateien in Python berechnen und überprüfen können.