国产探花免费观看_亚洲丰满少妇自慰呻吟_97日韩有码在线_资源在线日韩欧美_一区二区精品毛片,辰东完美世界有声小说,欢乐颂第一季,yy玄幻小说排行榜完本

首頁 > 編程 > Python > 正文

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

2019-11-25 16:12:57
字體:
來源:轉載
供稿:網友

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

import hashlibimport os,sysdef CalcSha1(filepath):  with open(filepath,'rb') as f:    sha1obj = hashlib.sha1()    sha1obj.update(f.read())    hash = sha1obj.hexdigest()    print(hash)    return hashdef CalcMD5(filepath):  with open(filepath,'rb') as f:    md5obj = hashlib.md5()    md5obj.update(f.read())    hash = md5obj.hexdigest()    print(hash)    return hashif __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值

PS:這里再為大家提供2款hash相關在線工具供大家參考使用:

在線散列/哈希算法加密工具:
http://tools.VeVB.COm/password/hash_encrypt

在線MD5/hash/SHA-1/SHA-2/SHA-256/SHA-512/SHA-3/RIPEMD-160加密工具:
http://tools.VeVB.COm/password/hash_md5_sha

更多關于Python相關內容感興趣的讀者可查看本站專題:《Python編碼操作技巧總結》、《Python數據結構與算法教程》、《Python Socket編程技巧總結》、《Python函數使用技巧總結》、《Python字符串操作技巧匯總》、《Python入門與進階經典教程》及《Python文件與目錄操作技巧匯總

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

發表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發表
主站蜘蛛池模板: 潢川县| 哈尔滨市| 车险| 偃师市| 临漳县| 西吉县| 突泉县| 扶绥县| 沧源| 彭泽县| 化州市| 龙山县| 长葛市| 灵璧县| 西贡区| 淳化县| 余干县| 若羌县| 林州市| 丁青县| 福鼎市| 本溪| 定襄县| 神农架林区| 福安市| 会泽县| 顺义区| 清河县| 大丰市| 赣榆县| 石泉县| 隆子县| 三门县| 分宜县| 渭源县| 团风县| 察哈| 若羌县| 新竹市| 无极县| 南和县|