मेरे पास एक वेब आधारित एप्लिकेशन है जिसके लिए सर्वर पर भेजे जाने से पहले छवियों को एन्क्रिप्ट किया जाना आवश्यक है, और सर्वर से ब्राउज़र में लोड होने के बाद डिक्रिप्ट किया गया है, जब उपयोगकर्ता द्वारा सही कुंजी दी गई थी।ब्राउज़र के भीतर जावास्क्रिप्ट का उपयोग कर छवियों को डिक्रिप्ट करना
[संपादित करें:। लक्ष्य है कि मूल छवि और चाबी उपयोगकर्ता के कंप्यूटर ताकि वह/वह सर्वर पर भरोसा करने की आवश्यकता नहीं है कभी नहीं छोड़ देता है]
मेरा पहला दृष्टिकोण का उपयोग कर छवि पिक्सल एन्क्रिप्ट करने के लिए था एईएस और छवि शीर्षलेख छूटे छोड़ दें। मुझे एन्क्रिप्टेड छवि को पीएनजी जैसे लापरवाही प्रारूप में सहेजना पड़ा। जेपीजी जैसे हानिकारक प्रारूप एईएस एन्क्रिप्टेड बिट्स को बदल देगा और उन्हें डिक्रिप्ट करने के लिए असंभव बना देगा।
अब एन्क्रिप्टेड छवियों को ब्राउज़र में लोड किया जा सकता है, एक पूरी तरह से स्कैम्बल दिखने के साथ। यहां मेरे पास Image.canvas.getContext("2d").getImageData()
का उपयोग कर आरजीबी पिक्सल के रूप में छवि डेटा में पढ़ने के लिए जावास्क्रिप्ट कोड है, उपयोगकर्ता को मुख्य रूप प्राप्त करें, एईएस का उपयोग करके पिक्सेल डिक्रिप्ट करें, कैनवास को दोबारा हटाएं और उपयोगकर्ता को डिक्रिप्ट की गई छवि दिखाएं।
यह दृष्टिकोण काम करता है लेकिन दो प्रमुख समस्याओं का सामना करता है।
पहली समस्या यह है कि पूरी तरह से स्कैम्बल छवि को लापरवाही प्रारूप में सहेजना बहुत बाइट लेता है, 3 बाइट प्रति पिक्सेल के करीब।
दूसरी समस्या यह है कि ब्राउज़र में बड़ी छवियों को डिक्रिप्ट करने में काफी समय लगता है।
यह दूसरे दृष्टिकोण को आमंत्रित करता है, जो वास्तविक पिक्सल की बजाय छवि शीर्षलेखों को एन्क्रिप्ट करना है। लेकिन मुझे उन्हें डिक्रिप्ट करने के लिए जावास्क्रिप्ट में छवि शीर्षलेखों में पढ़ने का कोई तरीका नहीं मिला है। कैनवास केवल पहले ही डिकंप्रेस्ड पिक्सेल डेटा देता है। वास्तव में, ब्राउज़र छवि को बदले गए हेडर के साथ अमान्य के रूप में दिखाता है।
पहला दृष्टिकोण सुधारने या दूसरे दृष्टिकोण को संभव बनाने या अन्य दृष्टिकोण प्रदान करने के लिए कोई सुझाव बहुत सराहना की जाती है।
लंबे पद के लिए खेद है।
"सर्वर पर भेजे जाने से पहले छवियों को एन्क्रिप्ट करने की आवश्यकता है" सोच रहा है ... सर्वर पर भेजने से पहले आपको छवि डेटा कैसे प्राप्त होता है? – oberhamsi
"होस्ट सबूत होस्टिंग" वह शब्द है जिसे आप ढूंढ रहे हैं। – Acorn
बिल्कुल, धन्यवाद। – timeon