Malformed UTF-8 data
Author: lnpuCreated Mar 3, 2020Updated May 18, 2026
I store the data in localstorage when encrypt(data, ducument.querySelector('.pwd').value), then i try to call decrypt(localStorage.data, ducument.querySelector('.pwd').value), it show the error: Error: Malformed UTF-8 data
But when I try this encrypt(data, '123') and decrypt(data, '123'), it is successful. and why?
How to fix it?
cryptojs "version": "4.0.0",
code:
encrypt:function(data,key){
let encJson = CryptoJS.AES.encrypt(JSON.stringify(data), key).toString();
return CryptoJS.enc.Base64.stringify(CryptoJS.enc.Utf8.parse(encJson));
},
decrypt:function(data,key){
let decData = CryptoJS.enc.Base64.parse(data).toString(CryptoJS.enc.Utf8);
return CryptoJS.AES.decrypt(decData, key).toString(CryptoJS.enc.Utf8);
},Source: brix/crypto-js