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