0

How to convert the Java CRC16 code to PHP code? PHP doesn't accept byte and >>>

public static int CRC16(final byte[] buffer) {
        int crc = 0xffff;

        for (int i = 0; i < buffer.length; i++) {
            crc = ((crc >>> 8) | (crc << 8)) & 0xffff;
            crc ^= (buffer[i] & 0xff);
            crc ^= ((crc & 0xff) >> 4);
            crc ^= (crc << 12) & 0xffff;
            crc ^= ((crc & 0xff) << 5) & 0xffff;
        }
        crc &= 0xffff;

        return crc;
    }
Genzotto
  • 1,954
  • 6
  • 26
  • 45
elenson
  • 13
  • 3

1 Answers1

0

Replace crc >>> 8 with (crc >> 8) & 0xff.

Mark Adler
  • 101,978
  • 13
  • 118
  • 158