【问题标题】:AES128 encryption on iOS without loading entire NSDataiOS 上的 AES128 加密,无需加载整个 NSData
【发布时间】:2014-06-29 22:52:14
【问题描述】:

使用 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 然后传递给此方法来解密和加密文件。

但是,不幸的是,我不得不为此过程使用大量 RAM。

有没有办法直接在磁盘上解密文件而不将文件加载到 NSData?

【问题讨论】:

  • 使用大量内存有什么问题?还不够吗?数据有多大?
  • @Zaph,我需要加密 800 mb 的文件,同时做 4 个。不,还不够。

标签: ios objective-c aes


【解决方案1】:

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

CommonCrypto 之旅上查看 Mike Ash 的 Friday

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2011-03-12
    • 2014-11-29
    • 1970-01-01
    • 2020-03-29
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多