HMAC เป็นเฟรมเวิร์ก ซึ่งใช้เพื่อรับรองความถูกต้องของข้อความโดยใช้ฟังก์ชันแฮชเข้ารหัส HMAC ใช้ได้กับ MD5, SHA-1 เป็นต้น
แนวคิดพื้นฐานในการสร้างแฮชเข้ารหัสคือดำเนินการแฮชกับข้อมูลจริงและคีย์ลับ ผลลัพธ์สุดท้ายถูกส่งโดยไม่มีรหัสลับ
ในการใช้โมดูลนี้ เราจำเป็นต้องนำเข้าโมดูล hmac ในโค้ดหลาม
import hmac
วิธีการและคุณลักษณะบางอย่างของโมดูล hmac มีดังนี้ -
วิธีการ hmac.update(ข้อความ)
วิธีนี้ใช้เพื่ออัปเดตวัตถุ hmac ด้วยข้อความที่กำหนด การเรียกใช้ฟังก์ชันนี้ซ้ำๆ จะเทียบเท่ากับการเรียกครั้งเดียวที่มีอาร์กิวเมนต์ที่ต่อกัน
วิธีการ hmac.digest()
วิธีนี้ใช้เพื่อส่งคืนข้อมูลที่ย่อยซึ่งส่งผ่านวิธีการอัพเดต ขนาดของอ็อบเจ็กต์ไบต์เท่ากับไดเจสต์_size มันอาจมีไบต์ในช่วงทั้งหมดตั้งแต่ 0 ถึง 255
วิธีการ hashlib.hexdigest()
วิธีนี้เหมือนกับวิธีไดเจสต์ แต่ผลลัพธ์จะมีเฉพาะค่าเลขฐานสิบหกเท่านั้น วิธีนี้ใช้ส่งข้อมูลผ่านอินเทอร์เน็ตได้ง่ายมาก
วิธีการ hashlib.copy()
วิธีนี้ใช้เพื่อสร้างสำเนาของวัตถุ hmac ในการคำนวณไดเจสต์ของสตริงอย่างมีประสิทธิภาพมากขึ้น วิธีการ copy() นั้นมีประโยชน์
โค้ดตัวอย่าง
import hashlib import hmac update_bytes = b'Python123' password = b'abcde1234' my_hmac = hmac.new(update_bytes, password, hashlib.md5) #Create hash using md5 algorithm print("The first digest: " + str(my_hmac.digest())) print("The Canonical Name: " + my_hmac.name) my_hmac_cpy = my_hmac.copy() #Create a copy of the hmac object print("The Copied digest: " + str(my_hmac_cpy.digest()))
ผลลัพธ์
The first digest: b"\x1c\xe1\xfb\x9b\xd4\x8bu\xb9\xe6N6\xee\x00O'}" The Canonical Name: hmac-md5 The Copied digest: b"\x1c\xe1\xfb\x9b\xd4\x8bu\xb9\xe6N6\xee\x00O'}"