在进行加解密处理时出现这个问题。
但是当在一个完整程序运行环境内加密字符串,解密字符串是没问题的。
当把加密的字符存储到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;
}