Bom dia a todos, até agora não consegui resolver meu problema, vou tenta explicar para ver se alguém me da uma luz! esta funciton me retorna este valor abaixo 0x31c3, na verdade o que preciso e que ela retorne este valor 0x5A76, baseado nesta calculadora http://www.lammertbies.nl/comm/info/crc-calculation.html, o valor 0x5A76 a ser atingido trata a string 123456789 antes de passar pela function, ate agora não consegui chegar neste resultado, pela calculadora ele diz que e hexadecimal, mas realmente estou ate agora a 4 dias tentando de tudo, espero que alguém possa me ajudar! $a="123456789"; function crc16a($data) { $crc = 0x000; for ($i = 0; $i < strlen($data); $i++) { $x = (($crc >> 8) ^ ord($data[$i])) & 0xff; $x ^= $x >> 4; $crc = (($crc << 8) ^ ($x << 12) ^ ($x << 5) ^ $x ) & 0xffff; } return $crc; } echo "hexadecimal ".dechex(crc16a($a)) ."<br \>";