当我加密文件(doc,pdf等)时,我使用:
size_t bufferSize = dataLength + kCCBlockSizeAES128;
CCCrypt( kCCEncrypt, kCCAlgorithmAES128, kCCOptionPKCS7Padding,
keyPtr, kCCKeySizeAES256,
NULL /* initialization vector (optional) */,
dataBytes, dataLength, /* input */
buffer, bufferSize,/* output */
&numBytesEncrypted );
Run Code Online (Sandbox Code Playgroud)
在解密时,我使用:
size_t bufferSize = dataLength + kCCBlockSizeAES128;
CCCryptorStatus result = CCCrypt( kCCDecrypt, kCCAlgorithmAES128, kCCOptionPKCS7Padding,
keyPtr, kCCKeySizeAES256,
NULL /* initialization vector (optional) */,
dataBytes, dataLength,/* input */
buffer, bufferSize,/* output */
&numBytesEncrypted );
Run Code Online (Sandbox Code Playgroud)
但是当解密时,它会返回错误:kCCDecodeError = -4304.
如果我在解密时删除了kCCOptionPKCS7Padding的参数,则没有错误.但是文件也无法打开.
那么,你能告诉我如何通过这些参数吗?
非常感谢!