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

首頁(yè) > 編程 > Python > 正文

Python實(shí)現(xiàn)通過(guò)文件路徑獲取文件hash值的方法

2020-02-23 04:37:56
字體:
來(lái)源:轉(zhuǎn)載
供稿:網(wǎng)友

本文實(shí)例講述了Python實(shí)現(xiàn)通過(guò)文件路徑獲取文件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進(jìn)行文件Hash計(jì)算有兩點(diǎn)必須要注意:

1、文件打開(kāi)方式一定要是二進(jìn)制方式,既打開(kāi)文件時(shí)使用b模式,否則Hash計(jì)算是基于文本的那將得到錯(cuò)誤的文件Hash(網(wǎng)上看到有人說(shuō)遇到Python的Hash計(jì)算錯(cuò)誤在大多是由于這個(gè)原因造成的)。

2、對(duì)于MD5如果需要16位(bytes)的值那么調(diào)用對(duì)象的digest()hexdigest()默認(rèn)是32位(bytes),同理Sha1digest()hexdigest()分別產(chǎn)生20位(bytes)和40位(bytes)的hash值

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

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

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

更多關(guān)于Python相關(guān)內(nèi)容感興趣的讀者可查看本站專題:《Python編碼操作技巧總結(jié)》、《Python數(shù)據(jù)結(jié)構(gòu)與算法教程》、《Python Socket編程技巧總結(jié)》、《Python函數(shù)使用技巧總結(jié)》、《Python字符串操作技巧匯總》、《Python入門與進(jìn)階經(jīng)典教程》及《Python文件與目錄操作技巧匯總》

希望本文所述對(duì)大家Python程序設(shè)計(jì)有所幫助。

發(fā)表評(píng)論 共有條評(píng)論
用戶名: 密碼:
驗(yàn)證碼: 匿名發(fā)表
主站蜘蛛池模板: 清流县| 镇坪县| 馆陶县| 新营市| 泸州市| 璧山县| 桦南县| 贵德县| 金寨县| 美姑县| 辛集市| 昔阳县| 突泉县| 临澧县| 金门县| 沂源县| 荣成市| 峡江县| 苏尼特左旗| 太谷县| 石泉县| 乌海市| 渭源县| 磴口县| 樟树市| 茶陵县| 舟曲县| 高邑县| 苏尼特左旗| 边坝县| 临海市| 牟定县| 万州区| 贵德县| 临沧市| 宿州市| 拉萨市| 巧家县| 双流县| 筠连县| 巫溪县|