zoukankan      html  css  js  c++  java
  • 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")
  • 相关阅读:
    NOIP前做题记录
    AtCoder Grand Contest 021题解
    AtCoder Grand Contest 020 题解
    CODE FESTIVAL 2017 Final题解
    Code Chef October Challenge 2019题解
    5.20 校内模拟
    5.19 湖南师大附中省选模拟1
    NOI2016 循环之美
    博弈复习
    5.18 省选模拟
  • 原文地址:https://www.cnblogs.com/mmix2009/p/3229679.html
Copyright © 2011-2022 走看看