CryptoJSで値を暗号化してから、別のファイルで使用するために出力しようとしているJSON配列の配列があります。これらの値は、ユーザー指定のパスフレーズを使用して復号化する必要があります。
しかし、何か問題があり、URLを復号化するときに「UncaughtError:MalformedUTF-8data」が表示されます。
暗号化.js:
var encrypted = CryptoJS.AES.encrypt(item[key], pass);
json[j] += encrypted.ciphertext.toString(CryptoJS.enc.Base64);
復号化.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 の例に従いました...助けてください、かなりお願いしますか?
このエラーメッセージは通常、データが正しく復号化されておらず、結果のプレーンテキストバイトが有効なUTF-8文字を形成していないことを意味します。
確認すべき点がいくつかあります。
item[key]
が文字列であることを確認してください。 CryptoJSはJSONオブジェクトを暗号化できません。最初にシリアル化する必要があります。