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,/* output */ &numBytesEncrypted );
但是当解密时,它会返回错误:kCCDecodeError = -4304.
如果我在解密时删除了kCcoptionPKCS7padding的参数,则没有错误.但该文件也无法打开.
那么,你能告诉我如何通过这些参数吗?
非常感谢!
解决方法 这用于加密Nsstring *key =@"YourKey"; char keyPtr[kCCKeySizeAES256+1]; // room for terminator (unused) bzero( keyPtr,sizeof(keyPtr) ); // fill with zeroes (for padding) // fetch key data [key getCString:keyPtr maxLength:sizeof(keyPtr) enCoding:NSUTF8StringEnCoding]; char *dataIn = "This is your data"; char dataOut[500];// set it acc ur data bzero(dataOut,sizeof(dataOut)); size_t numBytesEncrypted = 0; CCCryptorStatus result = CCCrypt(kCCEncrypt,NulL,dataIn,strlen(dataIn),dataOut,sizeof(dataOut),&numBytesEncrypted);
这是为了解密
char dataOut2[500];bzero(dataOut,sizeof(dataOut2));size_t numBytesDecrypted = 0; CCCryptorStatus result = CCCrypt(kCCDecrypt,numBytesEncrypted,dataOut2,sizeof(dataOut2),&numBytesDecrypted);总结
以上是内存溢出为你收集整理的iphone – 如何使用CCCrypt()加密文件?全部内容,希望文章能够帮你解决iphone – 如何使用CCCrypt()加密文件?所遇到的程序开发问题。
如果觉得内存溢出网站内容还不错,欢迎将内存溢出网站推荐给程序员好友。
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)