Ich versuche, einen dynamischen Avatar für die Benutzer meiner Website zu erstellen. Etwas wie stackoverflow. Ich ein PHP-Skript, das ein Bild auf einer Zeichenkette basierend erzeugt:Kann das MD5 von zwei verschiedenen Strings identisch sein?
path/to/avatar.php?hash=string
Ich möchte verwenden, um die MD5 der Nutzer E-Mails als Namen ihrer Avatare: (und wie diese Zeichenfolge PHP-Skript erzeugt ein Bild basierend auf)
$email = $_GET['email'];
$hash = md5($email);
copy("path/to/avatar.php?hash=$hash","path/img/$hash.jpg");
Jetzt möchte ich sicher sein, verwenden kann ich die MD5 ihrer E-Mails als Name ihren avatar? Ich meine, gibt es nicht zwei verschiedene Strings, die identische MD5-Ausgabe haben? Mit anderen Worten möchte ich wissen, ob die Ausgabe von zwei verschiedenen Zeichenketten eindeutig ist?
Ich weiß nicht, meine Frage ist klar oder nicht .. Alles, was ich wissen will, gibt es eine Möglichkeit, die MD5 von zwei verschiedenen E-Mails zu duplizieren?
Ja, es ist möglich, etwa 1 von 1 Billion Chance. – AbraCadaver
@AbraCadaver Nun, wie kann ich eine eindeutige Zeichenfolge generieren? Ich werde nicht auf die ID des Benutzers zugreifen, bevor ich seine Informationen in die Datenbank einfüge. – Shafizadeh
Ein Crypto-Experte wird kommen und korrigieren, aber wenn Sie nur versuchen, die E-Mail-Adresse zu verschleiern, ist die MD5 wahrscheinlich in Ordnung. Sie könnten auch SHA256 oder 512 verwenden. – AbraCadaver