• python检测文件的MD5值


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

    #python 检测文件MD5值
    #python version 2.6
     
    import hashlib
    import 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")
  • 相关阅读:
    SQL server查询笔记
    thinkphp ajax无刷新上传头像
    JSTL
    EL表达式
    jBox 弹框内容交互
    网页可读不可写
    readonly与disable的区别
    vuex 的使用
    页面向上滚动
    按照数组中的对象属性进行排序
  • 原文地址:https://www.cnblogs.com/mmix2009/p/3229679.html
Copyright © 2020-2023  润新知