Pythonで、指定パスのファイルのハッシュ値を計算する方法です。
コピペで使いやすいように、関数化した状態のサンプルコードを紹介します。
スポンサーリンク
サンプルコード
import hashlib
def file_hash(path :str):
"""
ファイルのハッシュ値取得
"""
# ハッシュアルゴリズムを決めます
algo = 'md5'
# ハッシュオブジェクトを作ります
h = hashlib.new(algo)
# 分割する長さをブロックサイズの整数倍に決めます
Length = hashlib.new(algo).block_size * 0x800
with open(path, 'rb') as f:
BinaryData = f.read(Length)
# データがなくなるまでループします
while BinaryData:
# ハッシュオブジェクトに追加して計算します。
h.update(BinaryData)
# データの続きを読み込む
BinaryData = f.read(Length)
# ハッシュオブジェクトを16進数で出力します
return h.hexdigest()
EOF
サイズがでかいファイルでも大丈夫なように、ファイルを分割して読み込みハッシュ化されています。
0 件のコメント:
コメントを投稿