Python - よく使うモジュール - hashlib ハッシュ

クラウディア 
1. 概要
2. ファイルのハッシュ値を取得

1. 概要

 ドキュメントには、「セキュアハッシュとメッセージダイジェスト」と題されております。  本ページは、下記にサイトを参考にさせていただきました。
hashlib --- セキュアハッシュとメッセージダイジェスト」
「Python - ファイルのハッシュ値を調べる」
「Pythonでハッシュ化を試してみる #Python

2. ファイルのハッシュ値を取得

 よく、オペレーティングシステムのインストーラをダウンロードします。  インストーラは、「.torrent」経由になることもありますが、たいてい「.iso」形式で取得します。  ダウンロード時に誤りがないか、ダウンロードした「.iso」のチェックサムの値が、提供されていることが多いです。  チェックサムの値を取得するのには。「7zip」を使用しているのですが、「EndeavourOS 2024.06.25」の値は、「sha512」で提供されておりました。  少なくとも、わたしの持っている「7zip」には、「sha512」は、用意されていないのです。  では、自分で計算するしかあるめぇと、探したら、「python」にこのモジュールが用意されておりました。  暗号化方式に合わせて、下記のメソッドが用意されています。

hashlib.md5([data, ]*, usedforsecurity=True)
hashlib.sha1([data, ]*, usedforsecurity=True)
hashlib.sha224([data, ]*, usedforsecurity=True)
hashlib.sha256([data, ]*, usedforsecurity=True)
hashlib.sha384([data, ]*, usedforsecurity=True)
hashlib.sha512([data, ]*, usedforsecurity=True)
hashlib.sha3_224([data, ]*, usedforsecurity=True)
hashlib.sha3_256([data, ]*, usedforsecurity=True)
hashlib.sha3_384([data, ]*, usedforsecurity=True)
hashlib.sha3_512([data, ]*, usedforsecurity=True)
 今回、「sha512」を調べるために、下記のソースを作成しました。

import hashlib
import sys

filepath = sys.argv[1]

# ファイル を バイナリーモード で開く
with open(filepath, 'rb') as file:
  # ファイルを読み取る
  fileData = file.read()

  # sha256
  hash_sha512 = hashlib.sha512(fileData).hexdigest()
  print('sha512   : ' + hash_sha512)
 これを下記の要領で、実行します。

python パス/ソースファイル.py パス/チェック対象のファイル.iso
 実行して、思い通りの結果を得ることができました。
earthcar(アースカー)