檔案雜湊
雜湊是將可變長度位元組序列轉換為固定長度序列的函式。由於許多原因,雜湊檔案可能是有利的。雜湊可用於檢查兩個檔案是否相同,或驗證檔案的內容是否已損壞或更改。
你可以使用 hashlib
為檔案生成雜湊:
import hashlib
hasher = hashlib.new('sha256')
with open('myfile', 'r') as f:
contents = f.read()
hasher.update(contents)
print hasher.hexdigest()
對於較大的檔案,可以使用固定長度的緩衝區:
import hashlib
SIZE = 65536
hasher = hashlib.new('sha256')
with open('myfile', 'r') as f:
buffer = f.read(SIZE)
while len(buffer) > 0:
hasher.update(buffer)
buffer = f.read(SIZE)
print(hasher.hexdigest())