Vinzenz Mai: md5 return als hexdez

Beitrag lesen

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