文件哈希
散列是将可变长度字节序列转换为固定长度序列的函数。由于许多原因,散列文件可能是有利的。哈希可用于检查两个文件是否相同,或验证文件的内容是否已损坏或更改。
你可以使用 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())