gpt4 book ai didi

php - PHP 中的 CRC8 校验

转载 作者:行者123 更新时间:2023-12-05 08:02:59 27 4
gpt4 key购买 nike

如何在 PHP 中生成 CRC-8 校验和?

最佳答案

function crcnifull ($dato, $byte)
{
static $PolyFull=0x8c;

for ($i=0; $i<8; $i++)
{
$x=$byte&1;
$byte>>=1;
if ($dato&1) $byte|=0x80;
if ($x) $byte^=$PolyFull;
$dato>>=1;
}
return $byte;
}

function crc8 (array $ar,$n=false)
{
if ($n===false) $n=count($ar);
$crcbyte=0;
for ($i=0; $i<$n; $i++) $crcbyte=crcnifull($ar[$i], $crcbyte);
return $crcbyte;
}

要将此函数用于二进制字符串,您必须先将二进制字符串转换为数组。可以这样实现:

function sbin2ar($sbin)
{
$ar=array();
$ll=strlen($sbin);
for ($i=0; $i<$ll; $i++) $ar[]=ord(substr($sbin,$i,1));
return $ar;
}

如何使用整个东西的例子:

$crc8=crc8(sbin2ar($packet));

关于php - PHP 中的 CRC8 校验,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/507041/

27 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com