私は画像ファイルのような大きなファイルを暗号化しています(どんなサイズでもかまいません-いくつかのKBから大きなMBまで)。私は暗号化に次のコードを使用しています。これはiPhoneSimulator5.1で正常に機能しています。
+ (NSData *)encryptedDataForData:(NSData *)data key:(NSData *)key error:(NSError **)error {
size_t outLength;
NSMutableData * cipherData = [NSMutableData dataWithLength:data.length + kCCBlockSizeAES128];
CCCryptorStatus result = CCCrypt(kCCEncrypt,
kCCAlgorithmAES128,
kCCOptionPKCS7Padding,
key.bytes,
key.length,
NULL,
data.bytes,
data.length,
cipherData.mutableBytes,
cipherData.length,
&outLength);
if (result == kCCSuccess) {
cipherData.length = outLength;
}
else {
NSLog(@"errorcode: %d", result);
return nil;
}
return cipherData;
}
ただし、同じコードを使用してデバイス上の画像を暗号化する場合(iPhone 5.1.1、
この暗号化により、kCCParamError(-4300)が発生します。シミュレーターでも同じ値ですが、そこでは正常に機能しています。何か助けてください?