如何在 Python 中计算大文件的 MD5 哈希值

2023-03-28 00:00:00 计算 如何在 大文件

要在Python中计算大文件的MD5哈希值,可以使用hashlib模块中的md5()方法。下面是一个示例代码,它使用md5()方法计算一个名为“test_file”的大文件的哈希值:

import hashlib

def calculate_md5(file_path):
    md5_hash = hashlib.md5()

    with open(file_path, "rb") as f:
        # 以二进制方式读取文件并更新哈希值
        for chunk in iter(lambda: f.read(4096), b""):
            md5_hash.update(chunk)

    # 返回哈希值的十六进制表示
    return md5_hash.hexdigest()

file_path = "test_file"
md5_hash = calculate_md5(file_path)
print(f"The MD5 hash of {file_path} is: {md5_hash}")

在这个示例代码中,calculate_md5()函数接收文件路径作为参数。它首先创建一个名为md5_hash的哈希对象。然后,它使用Python的with语句打开文件,并以二进制模式读取文件内容。使用iter()和lambda表达式,它会在每次迭代中读取4096字节的数据,将其添加到哈希对象中。最后,它返回哈希值的十六进制表示。

在这个示例中,我们没有使用字符串来计算哈希值,但您可以将文件路径替换为任何字符串来计算相应的哈希值。

相关文章