首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >在objc中进行AES 256解密时会遗漏某些字符

在objc中进行AES 256解密时会遗漏某些字符
EN

Stack Overflow用户
提问于 2012-09-20 20:42:18
回答 1查看 369关注 0票数 1

python (2.6)中的加密方法代码:

代码语言:javascript
复制
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)中解密方法的代码:

代码语言:javascript
复制
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)中调试时,解密的数据遗漏了文件内容末尾的一些字符。

有没有人也遇到过这个问题,有没有人能帮我?谢谢。

EN

回答 1

Stack Overflow用户

发布于 2012-09-25 16:51:03

kCCOptionPKCS7Padding未正确设置,因此iOS6将删除最后一个16字节块。当填充设置不正确时,iOS5会将其视为未指定。

票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/12512843

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档