python (2.6)中的加密方法代码:
key += PADDING * (32 - len(key))
pad_it = lambda s: s+(16 - len(s)%16)*PADDING
crypt = AES.new(key, AES.MODE_CBC, 'J2-+sfd%932mIt:{')
data = crypt.encrypt(pad_it(data))objc (IOS6)中解密方法的代码:
CCCryptorStatus cryptStatus = CCCrypt(kCCDecrypt,
kCCAlgorithmAES128,
kCCOptionPKCS7Padding,
keyPtr, kCCKeySizeAES256,
NULL /* initialization vector (optional) */,
[self bytes], dataLength, /* input */
buffer, bufferSize, /* output */
&numBytesDecrypted );我用python加密了一个plist文件,然后用objc解密它,但在objc (iOS6)中调试时,解密的数据遗漏了文件内容末尾的一些字符。
有没有人也遇到过这个问题,有没有人能帮我?谢谢。
发布于 2012-09-25 16:51:03
kCCOptionPKCS7Padding未正确设置,因此iOS6将删除最后一个16字节块。当填充设置不正确时,iOS5会将其视为未指定。
https://stackoverflow.com/questions/12512843
复制相似问题