Değerlerimi CryptoJS ile şifrelemeye çalıştığım ve daha sonra başka bir dosyada kullanılmak üzere yazdırmaya çalıştığım bir JSON dizisi dizim var; bu değerlerin kullanıcı tarafından verilmiş bir parola kullanılarak şifresi çözülmelidir.My CryptoJS şifreleme/şifre çözme çalışmıyor
Yanlış bir şey yapıyorum ve URL'lerin şifresini çözerken "Hatalı Hata: Hatalı Biçimlendirilmiş UTF-8 verileri" alıyorum.
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>';
oldukça ... Yardım this örnek lütfen takip?
İlginiz için teşekkür ederiz. Her iki dosyada da 'vari pass = 'bir şeyler' 've' console.log (typeof (item [key]) ==' string ') 'tüm öğeler için doğru basılmış. – Viktor
Ahh. Başka bir problem olduğunu fark ettim. Şifreleme sırasında kullanıldığı gibi şifreleme için aynı IV'ü kullanmanız gerekir. Normalde, IV şifreli metinle birlikte serileştirilir, ancak IV olmadan yalnızca şifreli metni kaydedebilirsiniz. 'Encrypted.ciphertext.toString (CryptoJS.enc.Base64) '' şifrelemeli.toString() ' –
' u değiştirmeyi deneyin, teşekkürler! 'Şifreli metin' ve 'Base64' kaldırdım ve şimdi çalışıyor gibi görünüyor. Şimdi sadece JavaScript kullanarak oldukça güvenli bir web sayfası aldım! Bu çok hoş, oldukça havalı. – Viktor