PHP CRC16校验
php
1.先把需要检验的字符串转化成数组
public function getbytes($str) {
$len = strlen($str);
$bytes = array();
for($i=0;$i<$len;$i++) {
if(ord($str[$i]) >= 128){
$byte = ord($str[$i]) - 256;
}else{
$byte = ord($str[$i]);
}
$bytes[] = $byte ;
}
return $bytes;
}
2 把数组带入crc16 检验
public function CRC16_Checkout($puchMsg)
{
$crc_reg = 0xFFFF;
for($i=0;$i<count($puchMsg);$i++)
{
$crc_reg = ($crc_reg>>8)^$puchMsg[$i];
for($j=0;$j<8;$j++)
{
$check = $crc_reg & 0x0001;
$crc_reg >>= 1;
if($check==0x0001)
{
$crc_reg ^= 0xA001;
}
}
}
return $crc_reg;
}
版权声明:本文为weixin_43231173原创文章,遵循CC 4.0 BY-SA版权协议,转载请附上原文出处链接和本声明。