python 文件MD5 SHA1校验计

发布时间:2019-08-29 07:35:36编辑:auto阅读(1571)

    #coding: GBK
    #md5SHA1文件校验值计算
    #使用方法: python 文件.py  验证文件
    import hashlib
    import sys
    import os
    defmd5_sum(filename):     #校验值方法
        fd=open(filename,"rb") #打开文件
        fd.seek(0)             #将文件打操作标记移到offset的位置
        line=fd.readline()     #读取文件第一行进入line
       
        #md5校验值计算
        md5=hashlib.md5()
        md5.update(line)
        #SHA1校验值计算
        sha1=hashlib.sha1()
        sha1.update(line)
       
        while line:         #循环读取文件
            line=fd.readline()
            md5.update(line)
            sha1.update(line)
           
        fmd5=md5.hexdigest()  #生成文件MD5校验值
        fsha1=sha1.hexdigest()#生成文件SHA1校验值
       
        fsum=[fmd5,fsha1]
     
        fd.close()
       
        return fsum
     
    defm_help():            #程序帮助方法
        st_help='''
    ****************************************
    **  MD5 SHA1 校验使用帮助               
    **  输入格式 python md5.py file        
    **  Example: python md5.py d:/1/1.txt  
    ****************************************'''
        print st_help
     
    if __name__ =="__main__":
        try:
            filename=sys.argv[1] #获取输入值
       
            if filename=='--help' orfilename=='':  #进入帮助菜单
                m_help()
            elif os.path.isfile(filename):     #进入文件校验菜单
                fmd5=md5_sum(filename)
                print 'File: {}'.format(filename)
                print 'MD5 : {}'.format(fmd5[0])
                print 'SHA1: {}'.format(fmd5[1])
            else:                   #进入错误菜单
                er='''
    ==========输入错误====================='''
                print er
                m_help()
        except Exception:
            m_help()


关键字