檔案雜湊

雜湊是將可變長度位元組序列轉換為固定長度序列的函式。由於許多原因,雜湊檔案可能是有利的。雜湊可用於檢查兩個檔案是否相同,或驗證檔案的內容是否已損壞或更改。

你可以使用 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())