|
|
@ -18,9 +18,9 @@ package org.redisson.connection;
|
|
|
|
/**
|
|
|
|
/**
|
|
|
|
* @author <a href="mailto:mpaluch@paluch.biz">Mark Paluch</a>
|
|
|
|
* @author <a href="mailto:mpaluch@paluch.biz">Mark Paluch</a>
|
|
|
|
**/
|
|
|
|
**/
|
|
|
|
public class CRC16 {
|
|
|
|
public final class CRC16 {
|
|
|
|
|
|
|
|
|
|
|
|
private static final int LOOKUP_TABLE[] = { 0x0000, 0x1021, 0x2042, 0x3063, 0x4084, 0x50A5, 0x60C6,
|
|
|
|
private static final int[] LOOKUP_TABLE = { 0x0000, 0x1021, 0x2042, 0x3063, 0x4084, 0x50A5, 0x60C6,
|
|
|
|
0x70E7, 0x8108, 0x9129, 0xA14A, 0xB16B, 0xC18C, 0xD1AD, 0xE1CE, 0xF1EF, 0x1231, 0x0210, 0x3273,
|
|
|
|
0x70E7, 0x8108, 0x9129, 0xA14A, 0xB16B, 0xC18C, 0xD1AD, 0xE1CE, 0xF1EF, 0x1231, 0x0210, 0x3273,
|
|
|
|
0x2252, 0x52B5, 0x4294, 0x72F7, 0x62D6, 0x9339, 0x8318, 0xB37B, 0xA35A, 0xD3BD, 0xC39C, 0xF3FF,
|
|
|
|
0x2252, 0x52B5, 0x4294, 0x72F7, 0x62D6, 0x9339, 0x8318, 0xB37B, 0xA35A, 0xD3BD, 0xC39C, 0xF3FF,
|
|
|
|
0xE3DE, 0x2462, 0x3443, 0x0420, 0x1401, 0x64E6, 0x74C7, 0x44A4, 0x5485, 0xA56A, 0xB54B, 0x8528,
|
|
|
|
0xE3DE, 0x2462, 0x3443, 0x0420, 0x1401, 0x64E6, 0x74C7, 0x44A4, 0x5485, 0xA56A, 0xB54B, 0x8528,
|
|
|
@ -50,7 +50,7 @@ public class CRC16 {
|
|
|
|
int crc = 0x0000;
|
|
|
|
int crc = 0x0000;
|
|
|
|
|
|
|
|
|
|
|
|
for (byte b : bytes) {
|
|
|
|
for (byte b : bytes) {
|
|
|
|
crc = ((crc << 8) ^ LOOKUP_TABLE[((crc >>> 8) ^ (b & 0xFF)) & 0xFF]);
|
|
|
|
crc = (crc << 8) ^ LOOKUP_TABLE[((crc >>> 8) ^ (b & 0xFF)) & 0xFF];
|
|
|
|
}
|
|
|
|
}
|
|
|
|
return crc & 0xFFFF;
|
|
|
|
return crc & 0xFFFF;
|
|
|
|
}
|
|
|
|
}
|
|
|
|