问题描述
我一直在寻找可以生成crc32-sum的简单python代码。它用于stm32,我找不到可调整的好示例。
为进行正确的计算,我在下面使用了
http://www.sunshine2k.de/coding/javascript/crc/crc_js.html
设置如下:
多项式:0x4C11DB7, 初始值:0xFFFFFFFF 并且没有Xor值或0x00,也不会反映输入和结果。
有人知道我在哪里可以得到一种简单的可调算法,或者在哪里可以学习如何编写算法?
编辑: 我使用此功能创建表格
def create_table():
a = []
for i in range(256):
k = i
for j in range(8):
if k & 1:
k ^= 0x4C11DB7
k >>= 1
a.append(k)
return a
及以下用于生成crc-sum
def crc32(bytestream):
crc_table = create_table()
crc32 = 0xffffffff
for byte in range( int(len(bytestream)) ):
lookup_index = (crc32 ^ byte) & 0xff
crc32 = (crc32 >> 8) ^ crc_table[lookup_index]
return crc32
并以此调用函数
print(hex(crc32(b"1205")))
结果是:0x9f8e7b8c
但是网站给了我:0xA7D10A0A
有人可以帮我吗?
解决方法
暂无找到可以解决该程序问题的有效方法,小编努力寻找整理中!
如果你已经找到好的解决方法,欢迎将解决方案带上本链接一起发送给小编。
小编邮箱:dio#foxmail.com (将#修改为@)