2
我看过this线程,而且那里提到的加密技术运行良好。但不是所有情况。在UIImage上的Iphone加密 - 在AES 256加密上的kCCBufferTooSmall错误
要求:
简单,取一个图像,对其进行加密,并存储加密的数据。之后,获取加密数据,解密它,重新创建原始图像并显示。
我做了什么
从上面提到的线程,我发现NSData additions for AES 256 encryption。我试图使用它,但部分成功。这是发生了什么
对于一个小图像的代码
//encryption
NSData *srcData = UIImageJPEGRepresentation(srcImage, 1.0);
NSLog(@"srcData length : %d",[srcData length]);
NSData *encryptedData = [srcData AES256EncryptWithKey:KEY];
NSLog(@"encrypted data length : %d",[encryptedData length]);
........
//later..
//decryption
decryptedImage = [UIImage imageWithData:[encryptedData AES256DecryptWithKey:KEY]];
imageView.image = decryptedImage;
,说有48 * 48分辨率的图像,此代码成功运行。但是当我以更高分辨率的图像运行代码时,如256 * 256,则方法AES256EncryptWithKey
失败,并显示错误kCCBufferTooSmall
(-4301)。
问题
- 不AES 256施加任何限制的大小(以字节计)有效载荷的 要加密?
- 如果第一个问题的答案是YES,那么在iphone中使用什么样的 加密算法,对图像进行加密(大概是 大)?
- 如果第一个问题的答案是否,那么为什么会出现这个错误?
对不起,对于迟到的答案,但我没有任何iOS设备来测试。 –