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