欢迎您访问程序员文章站本站旨在为大家提供分享程序员计算机编程知识!
您现在的位置是: 首页

python 实现大文件md5值计算

程序员文章站 2024-03-19 10:03:52
...

python 中使用hashlib模块实现常见摘要算法,如md5、sha1等。

hashlib.md5(文件内容)实现了对文件的md5计算,注意参数为文件内容而不是文件路径。


import hashlib

with open('2.jpeg','rb') as f:
  data = f.read()

d5 = hashlib.md5(data) 
print(d5.hexdigest())

md5()返回的是md5对象,不是md5值,通过hexdigest()方法获取md5值。

md5计算时文件数据是放在内存中的,当我们计算一个大文件时,可以用update方法进行分步计算,每次添加部分文件数据进行计算,减少内存占用。

import hashlib
 
d5 = hashlib.md5()
with open('3.jpeg','rb') as f:
  while True:
      data = f.read(2024)
      if not data:
          break
      d5.update(data) #update添加时会进行计算
 print(d5.hexdigest()) #打印结果