Heim  >  Artikel  >  Backend-Entwicklung  >  Kann die PHP-MD5-Verschlüsselung geknackt werden?

Kann die PHP-MD5-Verschlüsselung geknackt werden?

PHPz
PHPzOriginal
2017-03-15 10:36:276348Durchsuche

Die Verschlüsselungstechnologie, die wir bei der Entwicklung von PHP-Websites verwenden, ist MD5, sodass die Verwendung des MD5-Verschlüsselungsalgorithmus möglich ist Ist es knackbar oder ist die MD5-Verschlüsselung umkehrbar ? Werfen wir zunächst einen Blick auf zwei häufig verwendete PHP-Datenverschlüsselungstechnologien.
PHP-Datenverschlüsselungstechnologie

Die Verschlüsselungsalgorithmen Md5() und Sha1() sind In eine Richtung gibt es keine Umkehrfunktion, um die ursprünglichen Klartextdaten zu erhalten

Algorithmusaufruf:

string md5 ( string $str [, bool $raw_output = false ] )

string Sha1 ( string $str [, bool $raw_output = false ] )

Parameter

str

Roher String.

raw_output

Wenn optional raw_output auf TRUE gesetzt ist, dann meldet MD5 den Text Die Zusammenfassung wird im rohen Binärformat mit einer Länge von 16 Bytes zurückgegeben.

Rückgabewert

MD5() als 32-stellige Hexadezimalzahl Gibt den zurück Hashwert.

Sha1() gibt den Hashwert als 40-stellige Hexadezimalzahl zurück.


$p = "123456";
Echo md5($p);
?>

Die Ausgabe lautet wie folgt:

e10adc3949ba59abbe56e057f20f883e

Aber es ist sehr unsicher, die Funktion md5() auf diese Weise zu verwenden. In diesem Fall können Sie nach suchen MD5-Entschlüsselung auf Baidu. Sie finden entschlüsselte Websites:

Es ist ersichtlich, dass es unsicher ist, die Funktion md5() direkt wie oben zu verwenden. Obwohl der md5-Algorithmus irreversibel ist, weil das Ergebnis seiner Berechnung für dieselbe Zeichenkette eindeutig ist, verwenden einige Leute möglicherweise einen „Wörterbuchangriff“, um das MD5-Verschlüsselungssystem zu knacken. Obwohl es sich hierbei um eine Brute-Force-Entschlüsselung handelt, ist sie sehr effektiv, da die Benutzerkennwörter der meisten Systeme nicht sehr lang sind, sodass die von unserem MD5 codierten endgültigen Daten über einige Websites geknackt werden können:

Offensichtlich ist es nicht kompliziert genug, den md5()-Algorithmus direkt zu verwenden , und dann den Code wie folgt ändern:


$p = "123456";
echo md5(md5($p ).md5($p));
?>

Druckergebnis:

efd52a4f82c94f80f13671ebd7cd2a6d

Gehe zu Website zum Knacken:

Offensichtlich ist sein Ergebnis falsch, unser Passwort ist 123456 und nicht Null .

Wir können durch einen mehrschichtigen md5()-Algorithmus basierend auf einer md5()-Funktion verschlüsseln, da dies einseitig ist. Vielleicht fragen Sie sich, warum die Website geknackt werden kann Tatsächlich ist das Knacken mit Brute-Force das Beste. Sie speichern ständig verschiedene Codes und Passwörter und vergleichen sie dann, um schließlich das Passwort zu erhalten.

Spezifische MD5-Cracking-Methode finden Sie unter: PHP MD5-Entschlüsselungscode-Sharing (angehängte Schnittstelle, für persönliche Tests verfügbar)

Verwandte Artikel:

Kann PHP MD5 entschlüsselt werden?

PHP MD5 Verschlüsselungs- und Entschlüsselungsalgorithmus und -tools (mit Code)

MD5-Verschlüsselungstool

Das obige ist der detaillierte Inhalt vonKann die PHP-MD5-Verschlüsselung geknackt werden?. 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