MD5 ist ein sehr gebräuchlicher Begriff in der Softwarebranche. Auch wenn Sie ihn noch nie verwendet haben und nicht wissen, was er ist, müssen Sie davon gehört haben.
Was ist MD5? Handelt es sich um einen Verschlüsselungsalgorithmus? Nein, md5 ist ein Informations-Digest-Algorithmus , der nach bestimmten Regeln eine spezielle Zeichenfolge aus einer Zeichenfolge oder einer Datei generieren kann (diese spezielle Zeichenfolge wird als Digest bezeichnet. Nach meinem Verständnis wird sie durch Extrahieren einiger verarbeitet Informationsfragmente aus der Datei) und der MD5-Digest, der einer Datei entspricht, ist festgelegt. Wenn sich der Dateiinhalt ändert, ist sein MD5-Wert unterschiedlich (obwohl er theoretisch gleich sein kann, aber die Wahrscheinlichkeit ist äußerst gering). Der MD5-Wert wird in Anwendungen häufig verwendet, um zu überprüfen, ob ein Datenelement manipuliert wurde.
Zum Beispiel generiert der Absender der Daten einen MD5-Wert aus den Originaldaten und überträgt die Originaldaten dann zusammen mit ihrem MD5-Wert an den Empfänger. Nach dem Empfang der empfangenen Daten werden zunächst die Originaldaten generiert Verwenden Sie den MD5-Algorithmus und vergleichen Sie diese Zusammenfassungsinformationen dann mit den vom Absender gesendeten Zusammenfassungsinformationen. Wenn sie konsistent sind, wird davon ausgegangen, dass die Originaldaten nicht geändert wurden.
Der MD5-Wert hat mehrere Eigenschaften:
1 Es handelt sich um ein Datenelement fester Länge, d. h. um ein 128-Bit-Binärsegment bestehend aus „0 " und "1" Daten. Unabhängig davon, wie lang oder kurz die Originaldaten sind, beträgt ihr MD5-Wert 128 Bit.
2. Normalerweise (oder Branchenvorschriften) werden diese 128-Bit-Daten entsprechend 4 Bits in 32 Gruppen unterteilt und jeweils in Form von Zeichen ausgegeben. Beispielsweise ist der berechnete Wert eines Datensatzes 0-9, und der gedruckte Wert ist ebenfalls 0-9. Wenn der berechnete Wert direkt gedruckt wird, kann er 10-15 sein in Java. Die Methode format("%02x", bytes[i]) druckt die hexadezimalen Buchstaben a-f. Schließlich werden die 128-Bit-Daten in eine 32-Bit-Zeichenfolge gedruckt. Was wir also normalerweise als MD5-Wert bezeichnen, bezieht sich auf diese 32-Bit-Zeichenfolge bestehend aus „0-9, a-f“. Wenn Sie einen MD5 sehen, der nicht 32-Bit ist oder andere Zeichen als „0~f“ enthält, muss es sich um einen falschen MD5-Wert handeln.
3. Der MD5-Wert von Originaldaten ist eindeutig. Es ist unmöglich, mehrere verschiedene MD5-Werte für dieselben Originaldaten zu berechnen.
4. Die Originaldaten und ihr MD5-Wert stimmen nicht eins zu eins überein. Es ist möglich, dass die von mehreren Originaldaten berechneten MD5-Werte gleich sind.
5. Irreversibel. Das heißt, wenn Ihnen ein MD5-Wert mitgeteilt wird, können Sie dessen Originaldaten nicht wiederherstellen. Das liegt nicht daran, dass Ihre Technologie nicht gut genug ist, sondern an ihrem Algorithmus. Da gemäß Punkt 4 ein bestimmter MD5-Wert mehreren Originaldaten entsprechen kann und theoretisch einer unendlichen Anzahl von Originaldaten entsprechen kann, ist es unmöglich zu bestimmen, welche Originaldaten generiert werden.
Das obige ist der detaillierte Inhalt vonWas ist MD5?. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!