python 计算md5

来源:互联网 发布:考研没动力怎么办知乎 编辑:程序博客网 时间:2024/05/17 06:31
import osimport timeimport md5#get md5 of a input stringdef GetStringMD5(str):    m = md5.new()    m.update(str)    return m.hexdigest()#get md5 of a input filedef 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 bigfiledef 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 filedef 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")    


原创粉丝点击