1
PHP에서 CRC-8 체크섬을 생성하려면 어떻게해야합니까?CRC8-Check in PHP
PHP에서 CRC-8 체크섬을 생성하려면 어떻게해야합니까?CRC8-Check in PHP
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;
}
이진 문자열에이 함수를 사용하려면 먼저 이진 문자열을 배열로 변환해야합니다. 즉 다음과 같이 얻을 수있다 :
$crc8=crc8(sbin2ar($packet));
밥, 당신의 코드가 "D $ 1I 2006년 11월 14일 18시 15분 작동하지 않습니다 :
예 어떻게 모든 일을 사용할 수 : 00 1634146 3772376 3772344 3772312 3772294 1 * "문자열. 귀하의 계산에 따라, 그 예제에 대한 crc8 계산은 57을 주어야 할 때 결과 28을 부여합니다. 당신이 여전히이 스레드를 따르고 있기를 바랍니다. 이것 좀 봐 주시겠습니까? –
Bob은 방금 참조를 추가하지 않고 [Pastebin] (http://pastebin.com/qypDLF5W)에서 그의 코드를 얻었으므로 고정 될 것입니다. – GolezTrol