当前位置:   article > 正文

Python实战:python 获取指定文件的MD5值_python获取文件md5值

python获取文件md5值

在Python中,可以使用hashlib模块来计算文件的MD5值。MD5是一种常用的哈希算法,可以将任意长度的数据转换成固定长度的哈希值。计算文件的MD5值可以用于校验文件的完整性和一致性,以及检测文件是否被篡改。

计算大小一般的文件MD5值

  1. import hashlib
  2. # 文件路径
  3. file_path = "D:\steverocket\CentOS7_back.zip"
  4. def file_md5(file_name):
  5. """
  6. 参数:文件名
  7. return: 获取zip文件的md5
  8. """
  9. with open(file_name, "rb") as f:
  10. content = f.read()
  11. m = hashlib.md5()
  12. m.update(content)
  13. return m.hexdigest()
  14. print(file_md5(file_path))

输出结果:e0585a49d21452937141fff509811dd2

计算大文件MD5值

如果计算超大文件的md5值,可以使用分块读取,下面是一个示例代码,用于计算指定文件(300多MB的zip文件)的MD5值:

  1. import hashlib
  2. # 文件路径
  3. file_path = "D:\steverocket\CentOS7.zip"
  4. # 打开文件
  5. with open(file_path, 'rb') as f:
  6. # 创建MD5对象
  7. md5_obj = hashlib.md5()
  8. # 读取文件内容,更新MD5对象
  9. while 1:
  10. data = f.read(4096) # 每次读取4096字节
  11. if not data:
  12. break
  13. md5_obj.update(data)
  14. # 获取MD5值
  15. md5_value = md5_obj.hexdigest()
  16. print(md5_value)

输出结果:e0585a49d21452937141fff509811dd2

如果我们换成计算CentOS7_back.zip文件的md5值,结果还是这个值。该文件是一个由gz文件解压后的zip文件,具体详情由来请参考:Python实战:python操作GZ文件,实现文件压缩与解压缩

在上面的代码中,首先定义了一个文件路径file_path,然后使用open()函数打开文件,并以二进制模式读取文件内容。接着,创建一个MD5对象md5_obj,使用update()方法不断更新MD5值,直到读取完整个文件。最后,使用hexdigest()方法获取MD5值的十六进制表示,并使用print()函数输出MD5值。

总结

本文介绍了如何使用Python计算文件的MD5值。具体实现方法是,使用hashlib模块中的md5()函数创建MD5对象,然后使用update()方法不断更新MD5值,最后使用hexdigest()方法获取MD5值的十六进制表示。如果需要计算大文件的MD5值,可以使用分块读取的方式,将文件分成多个块,每次读取一块数据,并更新MD5对象。

SteveRocket的博客_CSDN博客-Django进阶,Python进阶,网络&信息安全领域博主SteveRocket擅长Django进阶,Python进阶,网络&信息安全,等方面的知识https://blog.csdn.net/zhouruifu2015/


更多资料 · 微信公众号搜索【CTO Plus】关注后,获取更多,我们一起学习交流。

关于公众号的描述访问如下链接



关于Articulate“做一个知识和技术的搬运工。做一个终身学习的爱好者。做一个有深度和广度的技术圈。”一直以来都想把专业领域的技https://mp.weixin.qq.com/s/0yqGBPbOI6QxHqK17WxU8Q

声明:本文内容由网友自发贡献,不代表【wpsshop博客】立场,版权归原作者所有,本站不承担相应法律责任。如您发现有侵权的内容,请联系我们。转载请注明出处:https://www.wpsshop.cn/w/菜鸟追梦旅行/article/detail/340134
推荐阅读
相关标签
  

闽ICP备14008679号