crc8校验:多项式二(0x07)为什么是X8 + X2 + X + 1
发布网友
发布时间:2022-05-11 23:27
我来回答
共2个回答
热心网友
时间:2023-10-25 12:59
商城
论坛
活动
招聘
GitChat
ITeye
专题
打开CSDN APP
Copyright © 1999-2019, CSDN.NET, All Rights Reserved
登录
原 java实现 CRC8 校验 多项式 x8+x2+x+1
DunnX阅读数:3922018-12-19
物联网 服务器需要检验设备传输的数据,设备c语言写的,CRC8 校验多项式为 x8+x2+x+1,找了百度,必应。也没有找到java CRC8 多项式 x8+x2+x+1的实现,能找到的都是x8+x5+x4+1的,后转google,费了些功夫不过还好找到了。不说了,上代码。
package com.smartsocket.utils;
/**
*
*
* @author zs
*/
public class CRC8Util {
/**
* CRC8 校验 多项式 x8+x2+x+1
* @param b
* @param off
* @param len
* @return
*/
public static byte CRC8Check(final byte[] b, final int off, final int len){
byte result=0x00;
for (int i = 0; i < len; i++) {
result = CHECKSUM_TABLE[(result ^ (b[i + of
(byte) 0x95, (byte) 0x92, (byte) 0x9b, (byte) 0x9c, (byte) 0xb1, (byte) 0xb6, (byte) 0xbf, (byte) 0xb8, (byte) 0xad,
(byte) 0xaa, (byte) 0xa3, (byte) 0xa4, (byte) 0xf9, (byte) 0xfe, (byte) 0xf7, (byte) 0xf0, (byte) 0xe5, (byte) 0xe2,
热心网友
时间:2023-10-25 12:59
加上0X100再进行对应, 例如下面:
CRC8 = X^8 + X^2 + X + 1 0x07(0x107)
CRC8 = X^8 + X^5 + X^4 + 1 0x31(0x131)
CRC8 = X^8 + X^6 + X^4 + X^3 + X^2 + X 0x5E(0x15E)