一区二区三区在线-一区二区三区亚洲视频-一区二区三区亚洲-一区二区三区午夜-一区二区三区四区在线视频-一区二区三区四区在线免费观看

腳本之家,腳本語言編程技術及教程分享平臺!
分類導航

Python|VBS|Ruby|Lua|perl|VBA|Golang|PowerShell|Erlang|autoit|Dos|bat|

服務器之家 - 腳本之家 - Python - Python實現通過文件路徑獲取文件hash值的方法

Python實現通過文件路徑獲取文件hash值的方法

2020-10-05 11:32SunboyL Python

這篇文章主要介紹了Python實現通過文件路徑獲取文件hash值的方法,結合實例形式分析了Python針對文件進行hash運算的實現方法與相關注意事項,需要的朋友可以參考下

本文實例講述了Python實現通過文件路徑獲取文件hash值的方法。分享給大家供大家參考,具體如下:

?
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
import hashlib
import os,sys
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")

使用Python進行文件Hash計算有兩點必須要注意:

1、文件打開方式一定要是二進制方式,既打開文件時使用b模式,否則Hash計算是基于文本的那將得到錯誤的文件Hash(網上看到有人說遇到Python的Hash計算錯誤在大多是由于這個原因造成的)。

2、對于MD5如果需要16位(bytes)的值那么調用對象的digest()hexdigest()默認是32位(bytes),同理Sha1digest()hexdigest()分別產生20位(bytes)和40位(bytes)的hash值

希望本文所述對大家Python程序設計有所幫助。

延伸 · 閱讀

精彩推薦
主站蜘蛛池模板: china国产bbw| 久久亚洲免费视频 | 亚洲欧美久久一区二区 | 色综合久久丁香婷婷 | 9色视频在线观看 | 国产精品久久久久久久久免费hd | 精品亚洲欧美中文字幕在线看 | 舔大逼| 日韩欧美高清视频 | 国产精品日本一区二区不卡视频 | 日本艳鉧动漫1~6在线观看 | 91成| 爱福利视频一区二区 | 国产在视频线在精品 | 日本高清在线播放 | 男女福利视频 | 色ccc36| 日韩欧美中文在线 | 奇米影视一区 | 四虎精品免费视频 | 色综合网亚洲精品久久 | 亚洲国产成人精品激情 | 草草国产成人免费视频 | 国产精品午夜性视频网站 | 国产91页 | 五月桃花网婷婷亚洲综合 | 99热精品成人免费观看 | 青青草在线观看 | 美女在尿口隐私视频 | 日本视频免费在线观看 | 国产精品吹潮香蕉在线观看 | 欧美成人三级伦在线观看 | 超级碰碰免费视频 | 99年水嫩漂亮粉嫩在线播放 | 18hdxxxx日本护士 | 99这里只有精品视频 | 超h高h肉h文武侠 | 黑人又大又硬又粗再深一点 | 国产成+人+综合+亚洲不卡 | 亚洲精品片 | 亚洲10p |