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

Обсуждение всех вопросов связанных с нашим сервером мониторинга. Сообщения об ошибках, путях их исправления, пожелания об улучшении и т.д..

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

Сообщение Chris » 17 фев 2011, 23:11

На примере пакета 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"));

?>
Chris
 
Сообщения: 28
Зарегистрирован: 16 фев 2011, 01:24

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

Сообщение pnz » 19 авг 2011, 15:30

А на 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);
  }
pnz
 
Сообщения: 1
Зарегистрирован: 19 авг 2011, 15:19


Вернуться в Сервер контроля и мониторинга АвтоФон КСА и мобильные приложения АвтоФон Коммандер

Кто сейчас на конференции

Сейчас этот форум просматривают: нет зарегистрированных пользователей и гости: 6

cron