Files
2019-09-23 12:22:42 +00:00

22 lines
685 B
Python

#!/bin/env python
import binascii
import sys
if __name__ == '__main__':
if ( len(sys.argv) != 2 and len(sys.argv) != 3 ) or sys.argv[1] == 'help':
print("Usage: python crc32 <file> [<start>:<end>]")
print(" start:end is a python-like range definition")
with open(sys.argv[1], "rb") as stream:
fully = stream.read()
if len(sys.argv) == 3:
s = sys.argv[2].split(":")
start = int(s[0])
end = int(s[1])
fully = fully[start:end]
crc = binascii.crc32(fully) & 0xFFFFFFFF
sys.stdout.write("0x%08x" % (crc ^ 0xFFFFFFFF))
sys.stdout.flush()