0x00
前几天打CTF的时候,发现需要计算CRC(当时还不知道哪种CRC),于是在网上搜了一圈发现Python的crcmod,内置了大多数常用的CRC算法,以及你可以利用这个模块自己编写自己的CRC。
0x01
- 首先就是安装了,没什么好说的
pip install crcmod
。 - 这里先给出官方文档.
0x02
最简单的利用,产生一个CRC-8的生成器,并计算CRC-8.
import crcmod
c8=crcmod.predefined.mkCrcFun('CRC-8')
hex(c8("Test".encode()))
- 我们使用crcmod内置的预定义设置创建一个CRC-8的生成器。(更多内置定义看官方文档)
- 直接将需要计算CRC的数据传入该函数即可(需要encode),返回值是一个整数(利用hex可以将其转为16进制。
0x03
最后,还有自定义CRC算法的功能crcmod.mkCrcFun(...)
具体实现看文档,这里就不多说了。