Я обнаружил, почему я ошибся с моим кодом, я передавал число в шестнадцатеричном формате и для вычисления мне нужно было преобразовать из шестнадцатеричного в десятичное, следовать функции с адаптацией (hexdec ($ d) решил мою проблему):
public function ComputeCrc($crcParams, $data) {
if ($crcParams->RefIn) {
$crc = $crcParams->InvertedInit;
} else {
$crc = $crcParams->Init;
}
if ($crcParams->RefOut) {
foreach ($data as $d) {
$d = hexdec($d);
echo "<br>".$d."<br>";
$crc = $crcParams->Array[($d ^ $crc) & 0xFF] ^ ($crc >> 8 & 0xFF);
}
} else {
foreach ($data as $d) {
$crc = $crcParams->Array[(($crc >> 8) ^ $d) & 0xFF] ^ ($crc << 8);
}
}
$crc = $crc ^ $crcParams->XorOut;
$result = new CrcResult();
$result->Crc = $crc & 0xFFFF;
return $result;
}