python 计算md5

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")
    


评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值