Genau genommen ist MD5 nicht unbedingt eine Verschlüsselung, sondern eine kryptografische Hashfunktion, die 1991 am MIT entwickelt wurde. Sie wurde zwar zunächst hauptsächlich zur Verschlüsselung verwendet, zeigte aber schnell Schwächen in Form von gleichen Hash-Werten für unterschiedliche Eingaben. Die gleichen Schwächen zeigte auch sein Nachfolger, der SHA1-Algorithmus. Heute wird für echte Verschlüsselungen meist zumindest das SHA-256-Verfahren angewandt.
Da aber der MD5 bei PHP-Programmierern noch viel Verwendung findet, soll hier gezeigt werden, wie man das machen kann. Erzeugt wird die Verschlüsselung zum Beispiel für ein Passwort mit der PHP-Funktion md5().
<?php
$passwort
= "geheim";
$passwort1 = md5($passwort);
echo "Unverschlüsseltes Passwort: ".$passwort."<br /><br />";
echo "Verschlüsseltes Passwort: ".$passwort1;
?>
Das verschlüsselte Passwort kann nun zum Beispiel in eine Benutzerdatenbank eingetragen werden. Wenn der Benutzer sich jetzt mit (s)einem Passwort einloggt, wird das eingegebene Passwort mit dem gespeicherten Hash verglichen und nur bei Übereinstimmung der Zugang freigegeben.