Pythonでファイルのハッシュ計算をする(ダイジェスト)
code:py
def file_sha1(file_path, size=4096):
m = hashlib.sha1()
with open(file_path, 'rb') as f:
for chunk in iter(lambda: f.read(size * m.block_size), b''):
m.update(chunk)
return m.hexdigest()
上記ののm = hashlib.sha1()をm = hashlib.sha256()に変えるだけでSHA256など他のアルゴリズムでハッシュ計算できる。 軽く計測した感じ、sha1sumコマンドよりも若干早いぐらいの速度は出る。