int crc8DvbS2Byte(int crc, int data) { crc ^= data; for (int i = 0; i < 8; i++) { if (crc & 0x80 != 0) { crc = (crc << 1) ^ 0xD5; } else { crc <<= 1; } } return crc & 0xFF; }