python 文件MD5 SHA1校驗計

  • 2020 年 1 月 10 日
  • 筆記

#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()