iPhone中的AES加密设备上出现kccparamerror



我正在加密像图像文件这样的大文件(可能有任何大小——一些KB到大MB)。我使用以下代码进行加密,这在iPhone模拟器5.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)。我在模拟器中有相同的值,但它在那里工作得很好。请帮忙吗?

我使用了一个错误的键。

我的钥匙由42个字符组成。

相反,它应该有24个字符。(使用密钥=123456789012345678901234有效)。

相关内容

  • 没有找到相关文章

最新更新