小编iph*_*ner的帖子

如何使用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 );
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的参数,则没有错误.但是文件也无法打开.

那么,你能告诉我如何通过这些参数吗?

非常感谢!

iphone objective-c ipad ios

5
推荐指数
1
解决办法
2万
查看次数

标签 统计

ios ×1

ipad ×1

iphone ×1

objective-c ×1