前端 CryptoJS 解密报 Malformed UTF-8 Data 解决方案
这个问题通常是因为解密的数据不是 UTF-8 编码的造成的。可以尝试使用其他解码方式,例如 Base64 解码。
具体操作如下:
- 使用 Base64 解码加密的数据:
var encryptedData = '...'; // 加密的数据
var decodedData = CryptoJS.enc.Base64.parse(encryptedData);
- 解密加密的数据:
var key = '...'; // 密钥
var decryptedData = CryptoJS.AES.decrypt(decodedData, key, { mode: CryptoJS.mode.ECB });
- 将解密后的数据转换成 UTF-8 编码的字符串:
var decryptedString = decryptedData.toString(CryptoJS.enc.Utf8);
这样就可以避免 'malformed utf-8 data' 的问题了。
原文地址: https://www.cveoy.top/t/topic/oocJ 著作权归作者所有。请勿转载和采集!