Python中的CRC32校验和,带有十六进制输入

dmr*_*nck 4 python string crc32 hex checksum

我想在python中计算一串十六进制值的CRC32校验和.我找到了zlib.crc32(data)和binascii.crc32(data),但我发现使用这些函数的所有示例都将'data'作为字符串(例如'hello').我想将十六进制值作为数据传递并找到校验和.我已经尝试将数据设置为十六进制值(例如0x18329a7e),我得到一个TypeError:必须是字符串或缓冲区,而不是int.当我将十六进制值设为字符串(例如'0x18329a7e')时,函数会计算,但我不认为它正在评估正确的校验和.任何帮助,将不胜感激.谢谢!

And*_*ark 12

我想你正在寻找binascii.a2b_hex():

>>> binascii.crc32(binascii.a2b_hex('18329a7e'))
-1357533383
Run Code Online (Sandbox Code Playgroud)