python检测文件的MD5值

来源:互联网 发布:华中科技大学软件下载 编辑:程序博客网 时间:2024/05/16 23:37

python检测文件的MD5值
MD5(单向散列算法)的全称是Message-Digest Algorithm 5(信息-摘要算法),经MD2、MD3和MD4发展而来。MD5算法的使用不需要支付任何版权费用。

复制代码
#python 检测文件MD5值#python version 2.6 import hashlibimport os,sys #简单的测试一个字符串的MD5值def GetStrMd5(src):    m0=hashlib.md5()    m0.update(src)    print m0.hexdigest()    pass #大文件的MD5值def GetFileMd5(filename):    if not os.path.isfile(filename):        return    myhash = hashlib.md5()    f = file(filename,'rb')    while True:        b = f.read(8096)        if not b :            break        myhash.update(b)    f.close()    return myhash.hexdigest() def CalcSha1(filepath):    with open(filepath,'rb') as f:        sha1obj = hashlib.sha1()        sha1obj.update(f.read())        hash = sha1obj.hexdigest()        print(hash)        return hash def CalcMD5(filepath):    with open(filepath,'rb') as f:        md5obj = hashlib.md5()        md5obj.update(f.read())        hash = md5obj.hexdigest()        print(hash)        return hash         if __name__ == "__main__":    if len(sys.argv)==2 :        hashfile = sys.argv[1]        if not os.path.exists(hashfile):            hashfile = os.path.join(os.path.dirname(__file__),hashfile)            if not os.path.exists(hashfile):                print("cannot found file")            else                CalcMD5(hashfile)        else:            CalcMD5(hashfile)            #raw_input("pause")    else:        print("no filename")
复制代码
原创粉丝点击