Hallo Schmitz,
also md5 gibt ja einen Hexadezimalen Wert zurück, allerdings wird dieser als String zurück gegeben.
laut PHP-Handbuch md5() handelt es sich um eine hexadezimale Zahl mit 32 Zeichen. Eine Ziffer im hexadezimalen Zahlensystem wird durch 4 Bit dargestellt, somit handelt es sich um eine 128-Bit-Integer. Die Größe eines Integerwertes ist laut http://www.php.net/manual/de/language.types.integer.php plattformabhängig (soweit ich mich erinnere von der Größe des long int des verwendeten C-Compilers), typischerweise derzeit eine vorzeichenbehaftete 32-Bit-Integer.
Ein einfaches
$md5 = (int) md5($zeichenkette);
sollte an den oben angeführten Größenbeschränkungen des Integer-Datentyps scheitern.
Stattdessen müsstest Du für Deine Berechnungen die Mathematischen Funktionen mit beliebiger Genauigkeit von PHP bemühen.
$md5 = 0xfa09b... (MD5 Hash)
Freundliche Grüße
Vinzenz