crypto-js解密报错malformed utf-8 data

在这里插入图片描述
在进行加解密处理时出现这个问题。
但是当在一个完整程序运行环境内加密字符串,解密字符串是没问题的。
当把加密的字符存储到txt文件,在读取解密时出现错误无法解密。
最后,使用res.replace(/\s/g,‘’)正则过滤掉txt文件内的空格就成功了。
不知道什么原因造成的问题

export function encryptByCry(jsonData) {
  let jsonString = JSON.stringify(jsonData);
  // 创建一个新的AES加密对象,使用CBC模式和PKCS7填充方式
  let ciphertext = CryptoJs.AES.encrypt(jsonString, CryKey);
  let encryptedData = ciphertext.toString();
  return encryptedData;
}

export function decryptByCry(encryptedData) {
// 过滤空格
  let str1 = encryptedData.replace(/\s/g,'')
  // 创建一个新的AES解密对象,使用CBC模式和PKCS7填充方式
  let bytes = CryptoJs.AES.decrypt(encryptedData,  CryKey);
  console.log(bytes)
  // 将解密后的字节数据转换为字符串
  let decryptedData = bytes.toString(CryptoJs.enc.Utf8);
  // 将JSON字符串解析为JavaScript对象
  console.log(decryptedData)
  let jsonData = JSON.parse(decryptedData);
  return jsonData;
}
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值