Heim  >  Artikel  >  MD5-Verschlüsselungsalgorithmus

MD5-Verschlüsselungsalgorithmus

(*-*)浩
(*-*)浩Original
2019-09-02 09:18:307106Durchsuche

Was ist der MD5-Algorithmus?

MD5 Message-Digest-Algorithmus (englisch: MD5 Message-Digest Algorithm), eine weit verbreitete kryptografische Hash-Funktion, die einen 128-Bit-Hash erzeugen kann Um sicherzustellen, dass die Informationsübertragung vollständig und konsistent ist, wird ein Hashwert (Hashwert) von 16 Byte verwendet.

MD5-Verschlüsselungsalgorithmus

MD5-Funktion(empfohlenes Lernen: Web-Frontend-Video-Tutorial)

Eingabeinformationen beliebiger Länge, und nach der Verarbeitung handelt es sich bei der Ausgabe um 128-Bit-Informationen (digitaler Fingerabdruck);

Unterschiedliche Eingaben führen zu unterschiedlichen Ergebnissen (Einzigartigkeit); >MD5 gehört nicht zum Verschlüsselungsalgorithmus

Menschen, die denken, dass es nicht dazu gehört, sind der Meinung, dass der Originaltext nicht aus dem Chiffretext (Hash-Wert) erhalten werden kann, also dort ist kein Entschlüsselungsalgorithmus, daher denken diese Leute, dass MD5 nur zu einem Algorithmus gehören kann und nicht als Verschlüsselungsalgorithmus bezeichnet werden kann.

Die Leute denken, dass es dazu gehört, weil sie das Gefühl haben, dass sie den Originaltext nach MD5 nicht sehen können Verarbeitung, das heißt, der Originaltext wurde verschlüsselt, daher denken sie, dass MD5 ein Verschlüsselungsalgorithmus ist. Ich persönlich unterstütze ihn. Ersteres ist so, als würde man denken, dass der BASE64-Algorithmus nur als Verschlüsselung angesehen werden kann.

Ist der MD5-Algorithmus reversibel?

Der Grund, warum MD5 irreversibel ist, liegt darin, dass es eine Hash-Funktion ist und einen Hash-Algorithmus verwendet. Während des Berechnungsprozesses geht ein Teil der ursprünglichen Informationen verloren.

Es ist jedoch darauf hinzuweisen, dass ein MD5 theoretisch tatsächlich unzähligen Originaltexten entsprechen kann, da es eine begrenzte Anzahl von MD5s gibt und es unzählige Originaltexte geben kann. Beispielsweise ordnet das Mainstream-MD5 eine „Byte-Zeichenfolge“ beliebiger Länge einer 128-Bit großen Ganzzahl zu

Das heißt, es gibt insgesamt 2^128 Möglichkeiten, was etwa 3,4*10^38 entspricht . Diese Zahl ist endlich. Es gibt jedoch unzählige Möglichkeiten für den Originaltext, die zur Verschlüsselung verwendet werden können.

Aber es ist zu beachten, dass das Problem theoretisch endlich ist ist dies im wirklichen Leben nicht ganz richtig, da einerseits die Länge des Originaltextes in der Realität oft begrenzt ist (am Beispiel häufig verwendeter Passwörter liegen die meisten Menschen innerhalb von 20 Ziffern) und andererseits Andererseits möchten wir derzeit feststellen, dass zwei Teile des Originaltextes demselben entsprechen. Es ist sehr schwierig, einen MD5-Wert zu erstellen (technisch gesehen Hash-Kollision), daher ist es in gewissem Sinne durchaus möglich, einen Eins-zu-Eins-Wert zu erstellen Übereinstimmung zwischen dem MD5-Wert und dem Originaltext, daher ist MD5 derzeit die effektivste Methode. Sie können die Details über Google herausfinden zu übermäßiger Komprimierung.

MD5-Zweck

1. Manipulationen verhindern:

1) Bevor ich beispielsweise ein elektronisches Dokument versende, erhalte ich zunächst das MD5-Ausgabeergebnis a . Nachdem die andere Partei das elektronische Dokument erhalten hat, erhält sie auch ein MD5-Ergebnis b ) Wenn ich beispielsweise einen Datei-Download anbiete, kann ich die Installationsdatei auf der Website veröffentlichen, um zu verhindern, dass Kriminelle das erhaltene MD5-Ausgabeergebnis

3) SVN verwenden MD5, um zu erkennen, ob die Datei nach dem Auschecken geändert wurde:

Viele Websites speichern jetzt den MD5-Wert des Benutzerpassworts Auf diese Weise kann ein Krimineller, selbst wenn er den MD5-Wert des Benutzerkennworts in der Datenbank erhält, das Kennwort des Benutzers nicht kennen (z. B. in einem UNIX-System). Es wird mit MD5 (oder anderen ähnlichen Algorithmen) verschlüsselt und gespeichert im Dateisystem.

Wenn sich der Benutzer anmeldet, berechnet das System das vom Benutzer eingegebene Passwort in einen MD5-Wert und speichert ihn dann im Dateisystem, um festzustellen, ob Das eingegebene Passwort ist korrekt.

Durch diesen Schritt kann das System die Legitimität der Anmeldung des Benutzers am System feststellen, ohne das eindeutige Passwort zu kennen. Es kann verhindern, dass das Passwort des Benutzers Benutzern mit Systemadministratorrechten bekannt ist , und es erhöht in gewissem Maße auch die Schwierigkeit, das Passwort zu knacken)

3. Verhindern Sie die Ablehnung (digitale Signatur):

Zum Beispiel, wenn A schreibt ein Dokument, die Zertifizierungsstelle verwendet den MD5-Algorithmus, um zusammenfassende Informationen zu generieren und eine Aufzeichnung zu führen.

Wenn A später sagt, dass das Dokument nicht von ihm geschrieben wurde, muss es nur maßgebend sein Generieren Sie die zusammenfassenden Informationen für das Dokument neu und vergleichen Sie sie dann mit den im Datensatz aufgezeichneten zusammenfassenden Informationen. Wenn sie identisch sind, wird bewiesen, dass sie von A geschrieben wurden. Dies wird als „digitale Signatur“ bezeichnet.

MD5-Sicherheit

Es wird allgemein angenommen, dass MD5 sehr sicher ist, da die Zeit zum Knacken mit Brute-Force für normale Menschen inakzeptabel ist. Tatsächlich ist es sehr unsicher, wenn das Passwort des Benutzers MD5 verarbeitet und dann in der Datenbank gespeichert wird.

Da das Passwort des Benutzers relativ kurz ist und die Passwörter vieler Benutzer Geburtstage, Mobiltelefonnummern, ID-Nummern, Telefonnummern usw. enthalten. Oder verwenden Sie häufig verwendete Glückszahlen oder ein englisches Wort. Wenn ich zuerst die häufig verwendeten Passwörter MD5-fähig mache, die Daten speichere und sie dann mit Ihrem MD5-Ergebnis abgleiche, erhalte ich möglicherweise den Klartext.

Zum Beispiel gibt es eine MD5-Cracking-Website http://www.cmd5.com/default.aspx, daher besteht die Passwortrichtlinie der meisten Websites mittlerweile darin, Benutzer zu zwingen, eine Kombination aus Zahlen und Großbuchstaben zu verwenden, um das zu verbessern Sicherheit von Benutzerpasswörtern.

Das obige ist der detaillierte Inhalt vonMD5-Verschlüsselungsalgorithmus. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!

Stellungnahme:
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