最近把一款ios游戏,移植到cocos2dx,ios用到一个aes256 ecb PKCS7加密算法,现在cocos2dx要通过openssl实现,本来对这个东西补是很了解,对openssl更不熟悉。通过 咨询QQ群网友,终于把这个问题解决了.特写此博文,备份纪录。
openssl默然的PKCS5和其它平台的PKCS7有区别,导致加密后的数据后16位不一致。问题就卡这里。不多少了,直接看代码:
ios:
CCCryptorStatus status = CCCrypt(decrypt ? kCCDecrypt : kCCEncrypt,
kCCAlgorithmAES128,
kCCOptionPKCS7Padding | kCCOptionECBMode,
key, kKeySize,
NULL,
[self bytes], [self length],
buffer, bufferSize,
&dataUsed);
c#:
RijndaelManaged rDel = new RijndaelManaged();
rDel.Key = keyArray;
rDel.Mode = CipherMode.ECB;
rDe