crc32 static method
Implementation
static int crc32(String? pid, [int crc = 0xffffffff]) {
crc = ~crc;
if (pid == null) {
return 0;
}
List<int> data = utf8.encode(pid);
for (int i = 0; i < data.length; i++) {
int c = data[i];
crc = (crc >> 4) ^ s_crc32[(crc & 0xF) ^ (c & 0xF)];
crc = (crc >> 4) ^ s_crc32[(crc & 0xF) ^ (c >> 4)];
}
return ~crc;
}