首页 > 代码库 > Python提取MD5
Python提取MD5
使用Python的hashlib模块提取MD5,网上参考,觉得这个还不错,可以作为模块直接使用。
# -*- coding: utf-8 -*- import hashlib import sys import os def md5hex(word): """ MD5加密算法,返回32位小写16进制符号 """ if isinstance(word, unicode): word = word.encode("utf-8") elif not isinstance(word, str): word = str(word) m = hashlib.md5() m.update(word) return m.hexdigest() def md5sum(fname): """ 计算文件的MD5值 """ def read_chunks(fh): fh.seek(0) chunk = fh.read(8096) while chunk: yield chunk chunk = fh.read(8096) else: #最后要将游标放回文件开头 fh.seek(0) m = hashlib.md5() if isinstance(fname, basestring) and os.path.exists(fname): with open(fname, "rb") as fh: for chunk in read_chunks(fh): m.update(chunk) #上传的文件缓存 或 已打开的文件流 elif fname.__class__.__name__ in ["StringIO", "StringO"] or isinstance(fname, file): for chunk in read_chunks(fname): m.update(chunk) else: return "" return m.hexdigest() if __name__ == "__main__": print (md5hex(sys.argv[1])) print (md5sum(sys.argv[2]))
Linux上验证:
Python提取MD5
声明:以上内容来自用户投稿及互联网公开渠道收集整理发布,本网站不拥有所有权,未作人工编辑处理,也不承担相关法律责任,若内容有误或涉及侵权可进行投诉: 投诉/举报 工作人员会在5个工作日内联系你,一经查实,本站将立刻删除涉嫌侵权内容。