Skip to the content.

How to check file hash in python

Date 11-01-2021
Author Thanakorn P.

Integrity เป็นหนึ่งในองค์ประกอบของ Secuirty ซึ่งเราหลายๆ คนน่าจะรู้กันดี และหนึ่งในวิธีการที่ใช้พิสูจน์ Integrity ของ file ที่ได้รับความนิยม ก็คือการเทียบ Hash value วันนี้เลยจะมาลองสร้าง hash ของ file โดยใช้ Library ของ python ที่ชื่อว่า filehash กัน

Hash คืออะไร?

คือการนำข้อมูลหนึ่ง มาผ่าน Hash function แล้วจะได้ค่า Hash value ที่มีความยาวตาม Hash function ที่ใช้ในการทำ เช่น Hash function SHA-256 จะมีความยาวของ Hash value = 256bit

Credit Image : https://www.geeksforgeeks.org/cryptographic-hash-function-in-java/

เรามาเริ่มเขียนโปรแกรมเพื่อ Generate Hash value ของ file กัน

Source code

from filehash import FileHash

sha256hasher = FileHash('sha256')

hash_value = sha256hasher.hash_file("./NEIS0736NECS0736.txt")

print(f'hash value : {hash_value}')

จาก Code ด้านบน เราจะทำการ import function FileHash มาจาก library ที่ชื่อ filehash นำมา hash file ที่มีชื่อว่า NEIS0736NECS0736.txt และแสดง Hash Value ออกมา ตามด้านล่าง

Result

hash value : 6e1267b937252d9efc44d2f891a830713f3825e88e6a3650addf4b1a805248fa

จะเห็นได้ว่าการ Generate Hash value นั้นไม่อยากเลย ก็ลองนำไปปรับใช้ในงานที่ต้องการ check Integrity ของ file กันดูนะครับ

ref : https://pypi.org/project/filehash/