import os
import time
import md5
#get md5 of a input string
def GetStringMD5(str):
m = md5.new()
m.update(str)
return m.hexdigest()
#get md5 of a input file
def GetFileMD5(file):
fileinfo = os.stat(file)
if int(fileinfo.st_size)/(1024*1024)>1000:
return GetBigFileMD5(file)
m = md5.new()
f = open(file,'rb')
m.update(f.read())
f.close()
return m.hexdigest()
#get md5 of a input bigfile
def GetBigFileMD5(file):
m = md5.new()
f = open(file,'rb')
maxbuf = 8192
while 1:
buf = f.read(maxbuf)
if not buf:
break
m.update(buf)
f.close()
return m.hexdigest()
#get md5 of a input folder.
#result will be output to the specified file
def GetBetchFilesMD5(dir,outMD5File):
outfile = open(outMD5File,'w')
for root ,subdirs, files in os.walk(dir):
for file in files:
filefullpath = os.path.join(root,file)
md5 = GetFileMD5(filefullpath)
outfile.write(filefullpath+' md5: '+md5+"\n")
print filefullpath+' md5: '+md5+"\n"
outfile.close()
if __name__ == "__main__":
print GetStringMD5('Jenson.ZhangPeng@Gmail.com')
print GetStringMD5("E:\TDDOWNLOAD\music\\A Fine Frenzy - Almost Lover.mp3")
print GetFileMD5("e:\\tencent\\boost_1_49_0.zip")
print GetBigFileMD5("e:\\tencent\\boost_1_49_0.zip")
print GetBetchFilesMD5("e:\\TDDOWNLOAD","d:\\outMD5File.txt")
python 计算md5
最新推荐文章于 2025-03-19 22:29:52 发布