crc校验python语言实现
时间: 2023-10-26 15:08:32 浏览: 163
crc校验是一种常用的数据校验方法,可以用来检测数据传输过程中的错误。下面是一个使用Python实现CRC校验的示例代码:
```python
def crc_remainder(data, divisor):
data = list(data)
divisor = list(divisor)
data.extend([0] * (len(divisor) - 1))
for i in range(len(data) - len(divisor) + 1):
if data[i] == 1:
for j in range(len(divisor)):
data[i + j] ^= divisor[j]
return data[-(len(divisor)-1):]
def crc_check(data, divisor):
remainder = crc_remainder(data, divisor)
return all(bit == 0 for bit in remainder)
data = [1, 0, 1, 1, 0, 1] # 待校验的数据
divisor = [1, 0, 0, 1] # CRC校验码生成多项式
if crc_check(data, divisor):
print("校验通过")
else:
print("校验失败")
```
该示例代码中,定义了两个函数:`crc_remainder` 和 `crc_check`。`crc_remainder` 函数用于计算给定数据和生成多项式的CRC余数,`crc_check` 函数用于检查CRC余数是否为0,即校验是否通过。在示例代码中,我们使用了一个简单的数据和生成多项式来进行演示。
阅读全文