本帖最后由 梵蒂冈是神uy 于 2024-6-1 03:18 编辑
接收端也可以使用相同的 CRC 算法对接收到的数据块进行校验,以验证数据的完整性。
以下是一个示例软件实现的 CRC 算法(以 CRC-32 为例):
python
def calculate_crc(data):
crc = 0xFFFFFFFF
for byte in data:
crc ^= byte << 24
for _ in range(8):
if crc & 0x80000000:
crc = (crc << 1) ^ 0x04C11DB7
else:
crc <<= 1
return crc & 0xFFFFFFFF
def verify_crc(data, crc):
return calculate_crc(data) == crc
# 示例用法
data = [0x01, 0x02, 0x03, 0x04, 0x05]
data_crc = calculate_crc(data)
print("Calculated CRC:", hex(data_crc))
print("Verification:", verify_crc(data, data_crc))
|