ในบทความนี้ เราจะเรียนรู้เกี่ยวกับ Steganography แบบภาพภาพโดยใช้ Python Steganography เป็นวิธีการซ่อนข้อความไว้เบื้องหลังเสียง วิดีโอ และภาพ ใช้เพื่อเพิ่มความปลอดภัยและป้องกันการอ้างทรัพย์สินทางปัญญาเท็จ
เราทำได้ด้วยคุณสมบัติการเข้ารหัส (encoding) ที่มีในโมดูล stepic ใน Python สำหรับการแสดงผลและดู เราใช้ PIL (Python Imaging Library) ใน Python
IDE ที่แนะนำ − Jupyter Notebook
นำเข้า dependencies ทั้งหมด −
>>> import stepic
ในบทความนี้ เราจะเข้ารหัสข้อความบนภาพด้านล่าง กรุณาดาวน์โหลดภาพด้านล่างและบันทึกเป็น "logo.png" ในโฟลเดอร์ localhost ของ Jupyter Notebook

คุณสามารถใช้ภาพใดก็ได้ คุณเพียงต้องระบุพาธของภาพของคุณภายในเครื่องหมายคำพูดคู่
>>> img = Image.open('logo.png')
>>> img.show()
ฟังก์ชัน Image ช่วยให้เราเปิด "ภาพ" ที่ต้องการทำ steganography ฟังก์ชัน .show() ช่วยให้เราเห็นภาพในรูปแบบป๊อปอัป (popup) ตามที่แสดงด้านล่าง

ตอนนี้ ใช้โมดูล stepic เราเข้ารหัสข้อความเป็นข้อมูลไบนารี 8 บิตโดยใช้ค่า ASCII สำหรับการเข้ารหัส ใช้ฟังก์ชัน .encode() ซึ่งรับสองพารามิเตอร์ คือ ภาพและข้อความ
เราใช้ฟังก์ชัน .save() เพื่อบันทึกข้อความที่ซ่อนไว้ลงในภาพต้นฉบับของเรา
>>> img1 = stepic.encode(im, b'Tutorialspoint')
>>> img1.save('logo.png', 'PNG')
ตอนนี้มาแสดงภาพที่ เข้ารหัสแล้ว (encoded)
>>> img1 = Image.open('logo.png')
>>> img1.show()

ฉันคิดว่าคุณจะไม่เห็นความแตกต่างในสองภาพ เพราะข้อความถูกซ่อนอยู่และมองไม่เห็นโดยตรง
เพื่อยืนยันว่าคุณเข้ารหัสข้อความสำเร็จ ให้ดูโค้ดด้านล่าง
>>> im2 = Image.open('logo.png')
>>> message_hidden = stepic.decode(im2)
>>> print(message_hidden)
ผลลัพธ์
'Tutorialspoint'
ข้อความที่ซ่อน/เข้ารหัสไว้จะถูกแสดงโดยดีโค้ดเดอร์ (decoder) ในตัวของโมดูล stepic ใน Python
สรุป
ในบทความนี้ เราได้เรียนรู้เกี่ยวกับ Steganography แบบภาพภาพโดยใช้โมดูล stepic และ PIL ใน Python 3.x หรือเวอร์ชันก่อนหน้า