首页 > 解决方案 > 使用 Python Hashlib 从两个相同文件计算文件某些部分的 MD5 时结果不同

问题描述

目标:创建一个函数来计算我们跳过某些字节的文件的某些部分。

只计算文件的某些部分

问题:对两个相同的文件进行测试会产生不同的结果。

完整的文件计算已经正确。 虽然对于相同的文件,第一个部分是错误的

代码 :

def checksum_contentonly(filename,sum_part, hash_factory=hashlib.md5, chunk_num_blocks=128):
    h = hash_factory()
    with open(filename,'rb') as f:
        for i in range(0,sum_part):
            if i==0:
                f.seek(240,0)
            else:
                f.seek(1240,1)
            chunk=f.read(1000)
            h.update(chunk)
    f.close()
    return h

标签: pythonpython-3.xhashhashlibmd5sum

解决方案


推荐阅读