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

本文是对这篇文章的翻译:如何在Python中计算文件的MD5哈希

MD5是一种消息摘要算法,用于从可变输入数据中创建唯一的固定大小值。MD5通常用于检查文件在传输过程中是否损坏(在这种情况下,哈希值称为校验和)。文件中的任何更改都将导致不同的MD5哈希值。

以下Python程序计算给定文件的MD5哈希值。计算出的128位MD5哈希将转换为可读的十六进制形式。

Python程序生成文件的MD5哈希值

import hashlib
 
filename = input("Enter the file name: ")
with open(filename,"rb") as f:
    bytes = f.read() # read file as bytes
    readable_hash = hashlib.md5(bytes).hexdigest();
    print(readable_hash)

请注意,由于我们在计算MD5哈希值之前将整个文件读取到内存中,因此上述程序对于大型输入文件可能会失败。以下python程序是经过改进的版本,能够处理大文件

Python程序生成大文件的MD5哈希值

import hashlib
 
filename = input("Enter the file name: ")
md5_hash = hashlib.md5()
with open(filename,"rb") as f:
    # Read and update hash in chunks of 4K
    for byte_block in iter(lambda: f.read(4096),b""):
        md5_hash.update(byte_block)
    print(md5_hash.hexdigest())
这是上面的程序是动作,

python3 md5hash2.py
输入文件名:md5hash2.py
0101ae2ac06b8a52154100e37d8bafea
  • 3
    点赞
  • 16
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值