Как использовать CCCrypt () для шифрования файла?

при шифровании файла (doc, pdf и т. Д.) Я использую:

size_t bufferSize = dataLength + kCCBlockSizeAES128;    
CCCrypt( kCCEncrypt, kCCAlgorithmAES128, kCCOptionPKCS7Padding,
                                 keyPtr, kCCKeySizeAES256,
                                 NULL /* initialization vector (optional) */,
                                 dataBytes, dataLength, /* input */
                                 buffer, bufferSize,/* output */
                                 &numBytesEncrypted );

при расшифровке, я использую:

size_t bufferSize = dataLength + kCCBlockSizeAES128;
CCCryptorStatus result = CCCrypt( kCCDecrypt, kCCAlgorithmAES128,    kCCOptionPKCS7Padding,
                                 keyPtr, kCCKeySizeAES256,
                                 NULL /* initialization vector (optional) */,
                                 dataBytes, dataLength,/* input */
                                 buffer, bufferSize,/* output */
                                 &numBytesEncrypted );

Но при расшифровке возвращается ошибка : kCCDecodeError = -4304.

Если я удалю параметр kCCOptionPKCS7Padding при расшифровке, ошибки не будет. Но файл также не может открыться.

Итак, не могли бы вы сказать мне, как передать эти параметры?

большое спасибо!

5
задан iphoner 6 April 2011 в 10:08
поделиться