zyklische Redundanzprüfung cyclic redundancy check CRC

PHP

Problem: Derzeit (— GP 2008/11/20 23:25) ist gibt die Funktion crc32() in der 32- und in der 64Bit-Plattform unterschiedliche Ergebnisse. Unter php.net findet sich diese Lösung/Workaround:

// This function returns the same int value on a 64 bit mc. like the crc32() function on a 32 bit mc.

function crcKw($num){
    $crc = crc32($num);
    if($crc & 0x80000000){
        $crc ^= 0xffffffff;
        $crc += 1;
        $crc = -$crc;
    }
    return $crc;
}

Das funktioniert!