1.源于一次对路由器的分析,做个笔记,代码如下:
import zlib
hash = 0
def crc32(file_path):
"""
计算文件 crc32 hash 值
"""
with open(file_path, 'rb') as fh:
global hash
while True:
s = fh.read(65535)
#print(s)
if not s:
break
hash = zlib.crc32(s, hash)
#s ="%08X" % (hash & 0xFFFFFFFF)
#print(hash)
#return "%08X" % (hash & 0xFFFFFFFF)
return hash
if __name__ == '__main__':
#print(hash)
crc32('1')
print("%08X" % (hash & 0xFFFFFFFF))
crc32('2')
print("%08X" % (hash & 0xFFFFFFFF))
crc32('3')
print("%08X" % (hash & 0xFFFFFFFF))
crc32('4')
print("%08X" % (hash & 0xFFFFFFFF))
crc32('5')
print("%08X" % (hash & 0xFFFFFFFF))
crc32('6')
print("%08X" % (hash & 0xFFFFFFFF))
crc32('7')
print("%08X" % (hash & 0xFFFFFFFF))
hash =0
crc32('0')
print("%08X" % (hash & 0xFFFFFFFF))
结果如下: