php aes ecs加解密,AES 解密服务器加密过的文本,总是解不出来,求出路

参考的安卓端解密的代码写的,但安卓端解密没问题,我写的一直解不出来。

安卓解密代码如下:

java

byte[] keyBy = key.getBytes("utf-8");

Cipher cipher = Cipher.getInstance("AES/ECB/PKCS7Padding");

SecretKeySpec keyspec = new SecretKeySpec(keyBy, "AES");

cipher.init(Cipher.DECRYPT_MODE, keyspec);

return cipher.doFinal(toDecrypt);

我写的 Objective-C 代码:

```ObjC

char keyPtr[kCCKeySizeAES128+1];

bzero(keyPtr, sizeof(keyPtr));

[key getCString:keyPtr maxLength:sizeof(keyPtr) encoding:NSUTF8StringEncoding];

NSUInteger dataLength = [data length];

size_t bufferSize = dataLength + kCCBlockSizeAES128;

void *buffer = malloc(bufferSize);

size_t numBytesDecrypted = 0;

CCCryptorStatus cryptStatus = CCCrypt(kCCDecrypt, kCCAlgorithmAES128, kCCOptionPKCS7Padding | kCCOptionECBMode, keyPtr, kCCKeySizeAES128, NULL, [data bytes], dataLength, buffer, bufferSize, &numBytesDecrypted);

if (cryptStatus == kCCSuccess) {

return [NSData dataWithBytesNoCopy:buffer length:numBytesDecrypted freeWhenDone:YES];

}

free(buffer);

return nil;

```

PKCS7Padding 、 ECB 、密钥都一致,但解出来的东西不一样,我把 128 、 192 、 256 这三种密钥长度也都试了一遍也不行,求大神指点一下还可能是什么地方的问题?

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值