इस लेख में, हम पायथन का उपयोग करके इमेज आधारित स्टेग्नोग्राफी के बारे में जानेंगे। स्टेग्नोग्राफी ऑडियो, वीडियो और इमेज के पीछे टेक्स्ट छिपाने की एक विधि है। इसका उपयोग सुरक्षा बढ़ाने और झूठे कॉपीराइट दावों से सुरक्षा के लिए किया जाता है।
हम पायथन में उपलब्ध stepic मॉड्यूल में एन्कोडिंग फीचर की मदद से इसे प्राप्त कर रहे हैं। प्रदर्शन और देखने के उद्देश्यों के लिए हम पायथन में उपलब्ध PIL (पायथन इमेजिंग लाइब्रेरी) का उपयोग करते हैं।
पसंदीदा IDE - जुपिटर नोटबुक
सभी निर्भरताओं को इम्पोर्ट करना -
>>> import stepic
इस लेख में हम नीचे दी गई इमेज पर टेक्स्ट एन्कोड करेंगे। कृपया नीचे दी गई इमेज डाउनलोड करें और इसे जुपिटर नोटबुक लोकलहोस्ट फोल्डर में "logo.png" के रूप में सेव करें।

आप अपनी पसंद की किसी भी इमेज का उपयोग कर सकते हैं। आपको बस डबल कोट्स के भीतर अपनी इमेज का पथ निर्दिष्ट करना होगा।
>>> img = Image.open('logo.png')
>>> img.show()यहां इमेज फंक्शन हमें उस "इमेज" को खोलने की अनुमति देता है जिस पर स्टेग्नोग्राफी की जानी है। .show() फंक्शन हमें इमेज को पॉपअप के रूप में देखने की अनुमति देता है जैसा कि नीचे दिखाया गया है।

अब stepic मॉड्यूल का उपयोग करके हम ASCII मान का उपयोग करके एक संदेश को 8-बिट बाइनरी डेटा में एन्कोड करते हैं। एन्कोडिंग के लिए .encode() फंक्शन का उपयोग किया जाता है जो दो पैरामीटर स्वीकार करता है यानी इमेज और संदेश।
हम अपने मूल इमेज में छिपे हुए संदेश को सेव करने के लिए .save() फंक्शन का उपयोग करते हैं।
>>> img1 = stepic.encode(im, b'Tutorialspoint')
>>> img1.save('logo.png', 'PNG')
अब आइए एन्कोडेड इमेज प्रदर्शित करते हैं।
>>> img1 = Image.open('logo.png')
>>> img1.show()
मुझे लगता है कि आप दोनों इमेज में कोई बदलाव नहीं देखते। ऐसा इसलिए है क्योंकि संदेश छिपा हुआ है और सीधे दिखाई नहीं देता।
यह सत्यापित करने के लिए कि आपने सफलतापूर्वक संदेश एन्कोड कर लिया है, नीचे दिए गए कोड को देखें।
>>> im2 = Image.open('logo.png')
>>> message_hidden = stepic.decode(im2)
>>> print(message_hidden)आउटपुट
'Tutorialspoint'
यहां छिपा हुआ/एन्कोडेड संदेश पायथन में उपलब्ध stepic मॉड्यूल के बिल्ट-इन डिकोडर द्वारा प्रदर्शित किया जाता है।
निष्कर्ष
इस लेख में, हमने पायथन 3.x या उससे पहले के संस्करण में stepic और PIL मॉड्यूल का उपयोग करके इमेज आधारित स्टेग्नोग्राफी के बारे में सीखा।