在不加载整个NSData的情况下在iOS上进行AES128加密



使用Apple Dev库(https://developer.apple.com/library/prerelease/ios/samplecode/CryptoExercise/Listings/Classes_SecKeyWrapper_m.html)中的示例,特别是这种方法- (NSData *)doCipher:(NSData *)plainText key:(NSData *)symmetricKey context:(CCOperation)encryptOrDecrypt padding:(CCOptions *)pkcs7 { return nil; }

我可以通过读取文件到NSData然后传递给这个方法来解密和加密文件。

然而,这有一个不幸的后果,我不得不使用大量的内存为这个过程。

是否有任何方法可以解密磁盘上的文件,而无需将文件加载到NSData?

您可以使用单独的Common Crypto例程:CCCrytorCreate(), CCCryptorUpdate(), CCCryptorFinal()CCCryptorRelease()为每个块重复CCCryptorUpdate()

参见Mike Ash's Friday on A Tour of CommonCrypto

最新更新