Heim > Artikel > Backend-Entwicklung > Kann die PHP-MD5-Verschlüsselung geknackt werden?
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)
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!