【Python3.6】フォルダ内の全ファイルのmd5値を求めて、JSONファイルに書き出すスクリプトを書きました~。

md5はファイルが持つ固有値のようなもので、ファイルが1byteでも変更されていれば、全く違う値になります。この特性を利用することで、ファイルの改ざんを用意に検知することが出来ます。

使い方

※Python3.6のインストールが必須です
checksum.pyをmd5値を求めたいファイルが入っているディレクトリ上に配置して下さい。

Pythonなら13行で出来るぜ(checksum.py)


import os, hashlib, json
choice = [x for x in os.listdir(".") if os.path.isfile(x)]
write_list = {}
for file_name in choice:
checksum = ""
with open(file_name, "rb") as f:
checksum = hashlib.md5(f.read()).hexdigest()
write_list[file_name] = checksum
with open("checksum.json", mode="wt", encoding="utf-8") as f:
f.write(json.dumps(write_list, indent=4, sort_keys=True))

出力(checksum.json)


{
"config.ini": "ed7e900002b180c151b9add6df25dd0c",
"hentai-train.exe": "5b4257abaf354a2131ee3e95c131896c",
"get_checksum.py": "d27ae6a808d0b87eb4c50476c8bf3ab8",
"checksum.json": "d20ad0518888884da98b8379b61f1f8c",
"README.md": "568527341e04cb86171c85b3de1b2c6a"
}
ジェシー
ああマイケル、Pythonはスマートでモダン!本当に素敵な言語なのね!
マイケル
ああ、ジェシー!!一度コイツを使ったらもう辞められないんだよ!!最高にファンキーなやつだよ奴さんは!

何に使えるの?

定期的に上記を実行するAPI用のスクリプトを書いて、WEBサーバー上で公開したりして遊ぼう!JSON形式なので加工も簡単だぜ!何ならJavaで上記を書いてみな!!夜が明けちまうぜヒャッハー!!

Pythonは以下の本がベストバウトだぜ!

コメントを残す

メールアドレスが公開されることはありません。