下面是自己写的一个用于计算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;
} 
  
评论