मेरे पास JSON arrays की एक सरणी है जिसका मूल्य मैं क्रिप्टोजेएस के साथ एन्क्रिप्ट करने की कोशिश कर रहा हूं और फिर किसी अन्य फ़ाइल में उपयोग के लिए प्रिंट करता हूं, जहां इन मानों को उपयोगकर्ता द्वारा दिए गए पासफ्रेज़ का उपयोग करके डिक्रिप्ट किया जाना चाहिए।मेरा क्रिप्टो जेएस एन्क्रिप्शन/डिक्रिप्शन काम नहीं कर रहा है
लेकिन मैं कुछ गलत कर रहा हूं और मुझे यूआरएल को डिक्रिप्ट करते समय "असफल त्रुटि: खराब यूटीएफ -8 डेटा" मिल रहा है।
encrypt.js:
var encrypted = CryptoJS.AES.encrypt(item[key], pass);
json[j] += encrypted.ciphertext.toString(CryptoJS.enc.Base64);
decrypt.js:
var decrypted = CryptoJS.AES.decrypt(item[key], pass);
html += '<a href="' + decrypted.toString(CryptoJS.enc.Utf8) + '" target="_blank" class="socialico ' + key + '">' + icons[key] + '</a>';
मैं this उदाहरण का पालन किया ... सहायता, सुंदर कृपया?
आपकी रुचि के लिए धन्यवाद। मैंने दोनों फाइलों में 'var pass =' something'' 'और 'console.log (typeof (item [key]) ==' string ') का उपयोग किया, सभी वस्तुओं के लिए मुद्रित सत्य। – Viktor
आह। मैंने एक और संभावित समस्या देखी। एन्क्रिप्शन के दौरान उपयोग किए जाने वाले डिक्रिप्शन के लिए आपको उसी IV का उपयोग करने की आवश्यकता है। आम तौर पर चतुर्थ को सिफरटेक्स्ट के साथ क्रमबद्ध किया जाता है, लेकिन आप स्पष्ट रूप से चतुर्थ के बिना केवल सिफरटेक्स्ट को सहेज रहे हैं। 'Encpted.ciphertext.toString (CryptoJS.enc.Base64) को' एन्क्रिप्टेड .toString() ' –
में बदलने का प्रयास करें ओह, धन्यवाद! मैंने 'सिफरटेक्स्ट' और 'बेस 64' हटा दिया और अब यह काम करता प्रतीत होता है। अब मुझे सिर्फ जावास्क्रिप्ट का उपयोग करके एक सुंदर सुरक्षित वेबपेज मिला है! यह सुंदर, बहुत अच्छा है। – Viktor