ในบทช่วยสอนนี้ เราจะเรียนรู้เกี่ยวกับโมดูล hashlib ที่ให้ SHA (Secure Hash Algorithms) ซึ่งเป็นชุดของ cryptographic hash functions
ติดตั้งโมดูลด้วยคำสั่ง (ใน Python 3 มา built-in แล้ว ไม่ต้องติดตั้งเพิ่ม):
pip install hashlib
เราสามารถดูอัลกอริทึมที่มีใน hashlib ได้จาก algorithms_guaranteed ลองรันดู
ตัวอย่าง
# นำเข้าโมดูล hashlib import hashlib # พิมพ์อัลกอริทึมที่มี print(hashlib.algorithms_guaranteed)
ผลลัพธ์
การรันโค้ดข้างต้นจะได้ผลลัพธ์ดังนี้
{'sha256', 'sha512', 'sha224', 'shake_256', 'blake2s', 'shake_128', 'sha384', 'sha3_384', 'sha3_512', 'sha3_224', 'md5', 'sha3_256', 'sha1', 'blake2b'}
ตัวอย่าง: ใช้ sha256
ลองดูตัวอย่างการใช้ sha256
# นำเข้าโมดูล hashlib
import hashlib
# เริ่มต้นสตริง
name = 'Tutorialspoint'
# แปลงสตริงเป็น bytes ด้วย encode() hash function รับเฉพาะ bytes
encoded_name = name.encode()
# สร้าง hash ด้วย sha256
hashed_name = hashlib.sha256(encoded_name)
# ได้ hash object ไม่เข้าใจง่าย
# พิมพ์รูปแบบ hexadecimal ด้วย hexdigest()
print("Object:", hashed_name)
print("Hexadecimal format:", hashed_name.hexdigest())
ผลลัพธ์
การรันโค้ดข้างต้นจะได้ผลลัพธ์ดังนี้
Object:Hexadecimal format: 447c2329228a452aa77102dc7d4eca0ee4c6d52a17e9c17408f8917e51e3
สรุป
ใช้ hashlib.sha256() แฮชข้อมูล ใช้ .hexdigest() ได้ hex string อัลกอริทึมอื่นใช้คล้ายกัน หากมีข้อสงสัย กรุณาแจ้งในส่วนความคิดเห็น