md5 - String auf Gültigkeit prüfen

Cusco

Erfahrenes Mitglied
Hi,

wie kann man den String prüfen den md5() zurückgibt? So viel ich weiss ist er immer 32 Zeichen lang und besteht aus Heximal-Werten (a bis f und 0 bis 9), oder?

Ich habe mir das was geschrieben aber er funktoniert nicht da die Routine leider alles durchläßt. Egal ob Leer oder andere Zeichen. Wo liegt der Fehler?

Code:
$l = strlen($session);
if($l == 32 and preg_match("/^[a-f0-9]/",$session))
{//ok;}
 
Ich hatte vorher das "i" nicht drin. Es könnte ja auch irgendwie passieren, dass Großbuchstaben rüber kommen, daher ist das schon besser so. Das $ am Ende würde ich dennoch lassen, damit auch wirklich nur ein 32 Zeichen langer String angenommen wird. Bei Navys Variante müsste der String nur entsprechend anfangen (also mindestens 32 Zeichen haben).
 
Ich hatte vorher das "i" nicht drin. Es könnte ja auch irgendwie passieren, dass Großbuchstaben rüber kommen, daher ist das schon besser so. Das $ am Ende würde ich dennoch lassen, damit auch wirklich nur ein 32 Zeichen langer String angenommen wird. Bei Navys Variante müsste der String nur entsprechend anfangen (also mindestens 32 Zeichen haben).

Hmm, naja eigentlich sollten keine Großbuchstaben vorkommen, ich nutze md5 als Session-ID für alles mögliche, auch bei Links in Emails und die sollten nicht geändert werden da die ID dann mit sehr großer Warscheinlichkeit ungültig ist beim Datenbankabgleich. Deshalb will ich die ID auch vorher Prüfen bevor ich sie zur Datenbank schicke, es könnte ja sein das jemand schädlichen mysql-code oder sowas unter bringen will.
 
Zuletzt bearbeitet:
Zurück