当前位置: 首页 > news >正文

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;
}

http://www.mrgr.cn/news/38221.html

相关文章:

  • [半导体检测-9]:KLA Surfscan SP1 SP3 SP5 SP7各自使用的激光器光源有哪些?
  • 700. 二叉搜索树中的搜索
  • 大模型与智能体的市场调研分析
  • MySQL 索引选择详解
  • 什么东西可以当做GC Root,跨代引用如何处理?
  • 学生台灯买个什么样的好?一文读懂小学生台灯哪个品牌更护眼
  • 微调大模型(Finetuning Large Language Models)—Training tuning(五)
  • 第 18 章 从猫爷借钱说起——事务简介
  • Cadence23中的一些设置
  • 多路复用和事件轮询机制
  • 大厂面试真题-什么是CAS单点登录?什么原理
  • jupyter快捷键
  • 【JavaEE初阶】深入理解wait和notify以及线程饿死的解决
  • MySQL - 单表查询
  • QQ机器人搭建
  • docker build 有时候不展示命令的输出情况,怎么办?
  • 尚硅谷vue3+TypeScript笔记大全
  • 五.海量数据实时分析-FlinkCDC+DorisConnector实现数据的全量增量同步
  • 递归算法详解
  • 如果只能保留一个复制粘贴软件,那一定是它pastemate