2

私は画像ファイルのような大きなファイルを暗号化しています(どんなサイズでもかまいません-いくつかの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)が発生します。シミュレーターでも同じ値ですが、そこでは正常に機能しています。何か助けてください?

4

1 に答える 1

1

間違ったキーを使用していました。

私のキーは 42 文字で構成されていました。

むしろ、24 文字にする必要がありました。(キー= 123456789012345678901234を使用すると機能しました)。

于 2012-09-13T13:01:42.263 に答える