Форум → Программирование → PHP для идиотов → Контрольная сумма
Контрольная сумма
-
11 марта 2013 г. 19:59, спустя 17 минут 15 секунд
руками
В документации есть пример вычисления контрольной суммы, как они это сделали?
0x05d8 = CRC-CCITT (24 24 00 11 13 61 23 45 67 8f ff 50 00)Сапожник без сапог -
11 марта 2013 г. 20:43, спустя 43 минуты 54 секунды
вдруг кому понадобитсяfunction crc16($data){
$crc = 0xFFFF;
for ($i = 0; $i < strlen($data); $i++){
$x = (($crc >> 8) ^ ord($data[$i])) & 0xFF;
$x ^= $x >> 4;
$crc = (($crc << 8) ^ ($x << 12) ^ ($x << 5) ^ $x) & 0xFFFF;
}
return $crc;
}
echo crc16(0x24 0x24 0x00 0x11 0x13 0x61 0x23 0x45 0x67 0x8f 0xff 0x50 0x00);
Пожалуйста, авторизуйтесь, чтобы написать комментарий!