コピペ用関数!Pythonでファイルのハッシュ値を計算する

2021年6月3日木曜日

Python

t f B! P L

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

サイズがでかいファイルでも大丈夫なように、ファイルを分割して読み込みハッシュ化されています。

スポンサーリンク
スポンサーリンク

このブログを検索

Profile

自分の写真
Webアプリエンジニア。 日々新しい技術を追い求めてブログでアウトプットしています。
プロフィール画像は、猫村ゆゆこ様に書いてもらいました。

仕事募集もしていたり、していなかったり。

QooQ