下面是自己写的一个用于计算tcp协议中16进制异或校验位的算法
function check_data($redata)
{
$y=0;
$rexd="";
$rexdata="";
for ($i=0; $i < strlen($redata); $i+=2){
$y = $y ^ intval('0x'.substr($redata,$i,2),0);
}
$y=dechex($y);
if(strlen($y)==1){$y='0'.$y;}
$rexd=$redata.$y;
return $rexd;
}
评论