當我加密一個文件(DOC,PDF等),我使用:如何使用CCCrypt()加密文件?
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的參數,則沒有錯誤。但該文件無法打開。
那麼,你能告訴我如何通過這些參數?
非常感謝!
謝謝,但它並沒有work.And我下面把它改寫: – iphoner 2011-04-07 09:49:59
但它的工作對我來說... – 2011-04-08 06:32:24
你不檢查CCCryptorStatus當你進行加密。你確定它有效嗎?另外,如何創建「緩衝區」。它是基於bufferSize嗎? – ax123man 2011-04-12 19:13:53