Страница 1 из 1

Расчет CRC для пакета авторизации (php) [ответ]

СообщениеДобавлено: 17 фев 2011, 23:11
Chris
На примере пакета 41 03 56 89 50 38 77 67 98 45 68 00 00 00 00 00 00 00

Код: Выделить всё
function crc($bytes)
{
    $r = 0x3B;

    for($i = 0; $i < strlen($bytes); $i++)
    {
        $r += 0x56 ^ ord($bytes[$i]);
        $r++;
        $r ^= 0xC5 + ord($bytes[$i]);
        $r--;
    }
   
    return $r & 0xFF;
}

printf('%02X', crc("\x41\x03\x56\x89\x50\x38\x77\x67\x98\x45\x68\x00\x00\x00\x00\x00\x00\x00"));

?>

Re: Расчет CRC для пакета авторизации (php) [ответ]

СообщениеДобавлено: 19 авг 2011, 15:30
pnz
А на Jave так будет??? а то чтото не фурычит...

Код: Выделить всё
private int crc(ByteBuffer bytes)
  {
    
     int r = 0x3B;
     for (int i=0; i<bytes.limit(); ++i) {
        r= r + 0x56 ^ bytes.get(i);
        r++;
        r^=0xC5+bytes.get(i);
        r--;
       }
      return (r & 0xFF);
  }