Php解压pako,在js 中 使用 CryptoJs AES 解密出来的格式 ,转成Utf-8会报错,无法使用gzip 解压,求解...

博客内容涉及到一个跨平台的加密解密问题。在Java环境中,使用AES_EBC模式解密和GZIP解压缩能够成功处理服务器返回的加密数据,得到JSON格式的字符串。然而,在JavaScript中,使用CryptoJS进行AES解密后的结果转换为UTF-8时出现错误,导致无法使用pako库进行GZIP解压。尽管将Java解密后的字节数组转化为Uint8Array后可以在JavaScript中正常GZIP解压。问题在于找到JavaScript中正确的AES解密方法,以匹配Java的解密结果,使得后续的GZIP解压过程能够顺利进行。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

var aes_Key= "AF5493B58B4E41DC";

var result = "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";

上面两个字符串中result是可以解密的服务器返回的数据 ,key为aes_key,用aes EBC解密,得到的数据用gzip 解压,java 中能够解密成功。

解密出来正确格式是一个json 字符串。

但在js 中 使用 CryptoJs AES 解密出来的格式 ,转成Utf-8会报错,并且无法使用pako.gzip 解压如果拿到java中aes解密的byte数组能够正常用 ,js 经过Uint8Array 后能正常gzip解压,求大神指导!!

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值