我将CCCryptorStatus作为kCCSuccess。
这意味着加密成功。
但是,我想获取加密数据,如何获取它?
任何帮助将不胜感激。
谢谢,
Puja Rathod
答案 0 :(得分:1)
好好看看CCCrypt的论点:
CCCryptorStatus CCCrypt(CCOperation op,
CCAlgorithm alg,
CCOptions options,
const void *key,
size_t keyLength,
const void *iv,
const void *dataIn,
size_t dataInLength,
void *dataOut,
size_t dataOutAvailable,
size_t *dataOutMoved);
(这是来自使用C类型的旧man page。)
使用最后三个参数,您必须提供:
在Objective-C中,您可以使用NSMutableData提供必要的缓冲区(代码示例取自here):
CCCryptorStatus ccStatus = kCCSuccess;
size_t cryptBytes = 0;
NSMutableData *dataOut = [NSMutableData dataWithLength:dataIn.length + kCCBlockSizeAES128];
ccStatus = CCCrypt(encryptOrDecrypt, // kCCEncrypt or kCCDecrypt
kCCAlgorithmAES128,
kCCOptionPKCS7Padding,
key.bytes,
kCCKeySizeAES128,
iv.bytes,
dataIn.bytes,
dataIn.length,
dataOut.mutableBytes,
dataOut.length,
&cryptBytes);
dataOut.length = cryptBytes;