利用python怎么对文件的MD5值进行计算

  介绍

利用python怎么对文件的MD5值进行计算?针对这个问题,这篇文章详细介绍了相对应的分析和解答,希望可以帮助更多想解决这个问题的小伙伴找到更简单易行的方法。

一、计算字符串的MD5值

# !/usr/bin/env  python   #,- *安康;编码:utf-8  - * -      import 系统   import  hashlib      重载(系统)   sys.setdefaultencoding (& # 39; utf - 8 # 39;)      if  __name__ ==, & # 39; __main__ # 39;:   content =,才能“hello"   时间=md5hash 才能;hashlib.md5(内容)   时间=md5 才能;md5hash.hexdigest ()   打印才能(md5)

,运行上述代码,输出:5 d41402abc4b2a76b9719d911017c592

用PHP自带的md5函数计算同一个字符串,验证下喂的md5是否正确。

& lt; PHP ?      时间=美元才能content “hello";   美元才能md5 =, md5($内容);   var_dump (md5美元)才能,,,//,输出,5 d41402abc4b2a76b9719d911017c592

二,计算文件的md5值

# !/usr/bin/env  python   #,- *安康;编码:utf-8  - * -      import 系统   import  hashlib      重载(系统)   sys.setdefaultencoding (& # 39; utf - 8 # 39;)      if  __name__ ==, & # 39; __main__ # 39;:   时间=file_name 才能;“3383430480 _51_01.jpg"   with 才能;开放(file_name, & # 39; rb # 39;), as 外交政策:   ,,,data =, fp.read ()   file_md5才能=,hashlib.md5(数据).hexdigest ()   打印(file_md5)才能,,,#,ac3ee699961c58ef80a78c2434efe0d0

文件md5计算跟字符串计算是一样,直接使用hashlib的md5方法,然后hexdigests就好了。同样用PHP代码验证下

& lt; PHP ?      时间=美元才能file_name “3383430480 _51_01.jpg";   时间=美元才能file_md5  md5_file ($ file_name);   var_dump (file_md5美元)才能,,,//,输出,ac3ee699961c58ef80a78c2434efe0d0

从结果可以看出md5是一样的,文件md5值也不过如此呀,心里窃喜…

如果大文件呢,比如几个G呢,上述代码肯定会内存溢出,怎么办呢,可以分块读取文件内容并计算。

三,计算大文件的md5值

# !/usr/bin/env  python   #,- *安康;编码:utf-8  - * -      import 系统   import  hashlib      def  get_file_md5(帧):   时间=m 才能;hashlib.md5(),, #创建md5对象   with 才能打开(帧& # 39;rb # 39;), as  fobj:   ,,,while 正确的:   ,,,,,data =, fobj.read (4096)   ,,,,,if  not 数据:   ,,,,,,,休息   ,,,,,m.update(数据),#更新md5对象      return 才能;m.hexdigest(),, #返回md5对象      重载(系统)   sys.setdefaultencoding (& # 39; utf - 8 # 39;)      if  __name__ ==, & # 39; __main__ # 39;:   file_name =,才能“mongodb_us.zip"   时间=file_md5 才能;get_file_md5 (file_name)   打印(file_md5)才能,,,#,0 f45cdbf14de54001e82a17c3d199a4b

四、封装成常用库md5。py

# !/usr/bin/env  python   #,- *安康;编码:utf-8  - * -      import  hashlib      def  get_file_md5 (file_name):   “才能”;“   计才能算文件的md5   :才能param  file_name:   ,,:返回:   “才能”;“   时间=m 才能;hashlib.md5(),, #创建md5对象   with 才能打开(file_name & # 39; rb # 39;), as  fobj:   ,,,while 正确的:   ,,,,,data =, fobj.read (4096)   ,,,,,if  not 数据:   ,,,,,,,休息   ,,,,,m.update(数据),#更新md5对象      return 才能;m.hexdigest(),, #返回md5对象         def  get_str_md5(内容):   “才能”;“   计才能算字符串md5   ,,:param 内容:   ,,:返回:   “才能”;“   时间=m 才能;hashlib.md5(内容),#创建md5对象   return 才能;m.hexdigest ()

关于利用python怎么对文件的MD5值进行计算问题的解答就分享到这里了,希望以上内容可以对大家有一定的帮助,如果你还有很多疑惑没有解开,可以关注行业资讯频道了解更多相关知识。

利用python怎么对文件的MD5值进行计算