public function hash($value) { // CRC-CCITT-16 algorithm $crc = 0; $CCITT_16 = self::$CCITT_16; $strlen = strlen($value); for ($i = 0; $i < $strlen; ++$i) { $crc = ($crc << 8 ^ $CCITT_16[$crc >> 8 ^ ord($value[$i])]) & 0xffff; } return $crc; }