หา hash ของไฟล์ด้วยไลบรารี hashlib ขนาดไฟล์อาจใหญ่ ควรใช้ buffer โหลดทีละชิ้นและประมวลผลคำนวณ hash ขนาด buffer ใดก็ได้
ตัวอย่าง
import sys
import hashlib
BUF_SIZE = 32768 # อ่านไฟล์ทีละ 32kb
md5 = hashlib.md5()
sha1 = hashlib.sha1()
with open('program.cpp', 'rb') as f:
while True:
data = f.read(BUF_SIZE)
if not data:
break
md5.update(data)
sha1.update(data)
print("MD5: {0}".format(md5.hexdigest()))
print("SHA1: {0}".format(sha1.hexdigest()))
ผลลัพธ์
MD5: 7481a578b20afc6979148a6a5f5b408d SHA1: f7187ed8b258baffcbff2907dbe284f8f3f8d8c6