AES-256-GCM Перегрузка памятиIOS

Программируем под IOS
Anonymous
AES-256-GCM Перегрузка памяти

Сообщение Anonymous »

Я забивал свой мозг в течение последних 3 дней и надеюсь, что кто-то сможет указать мне в направлении. Бесполезно .. < /p>
Я читал и пытался понять потоковую передачу, но по какой -то странной причине Crypto Kit не поддерживает его?

Код: Выделить всё

func encryptFile(_ contentData: Data, withThumbnail thumbnailData: Data?, withKey keyString: String) -> Data? {
guard let key = getKey(from: keyString) else { return nil }

do {
let finalThumbnailData = thumbnailData ?? generatePlaceholderThumbnail().jpegData(compressionQuality: 0.7) ?? Data()

guard let thumbnailEncryptedData = try AES.GCM.seal(finalThumbnailData, using: key).combined,
let contentEncryptedData = try AES.GCM.seal(contentData, using: key).combined else {
print("Failed to get encrypted data")
return nil
}

let thumbnailLength = UInt32(thumbnailEncryptedData.count)
let header = withUnsafeBytes(of: thumbnailLength.littleEndian) { Data($0) }
return header + thumbnailEncryptedData + contentEncryptedData
} catch {
print("Encryption error: \(error.localizedDescription)")
return nil
}
}
У кого -то есть какой -либо опыт работы с 2024/2025, с возможностью потоковой передачи данных шифрования или более эффективным методом памяти, не вызывая перегрузку памяти в файлах 1 ГБ, в идеале я хочу иметь возможность шифровать любой размер файла без возникновения проблем с памятью. Слишком много использования памяти.
Спасибо,

Подробнее здесь: https://stackoverflow.com/questions/795 ... y-overload

Вернуться в «IOS»