Python2系とPython3系では binascii.crc32 の計算結果が異なるので注意
python2 では signed、python3 では unsigned として扱われる
具体的な例としては以下。
1 2 3 | >>> import binascii >>> binascii.crc32(b "Hello" ) - 137262718 |
1 2 3 | >>> import binascii >>> binascii.crc32(b "Hello" ) 4157704578 |
数字は違うのですが、0xF7D18982
を 32bit の signed として扱っているか、unsigned として扱っているかの違いです。
そして、これは仕様のようです。
参考
Issue 4903: binascii.crc32() - document signed vs unsigned results - Python tracker