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
Ответить

Быстрый ответ

Изменение регистра текста: 
Смайлики
:) :( :oops: :roll: :wink: :muza: :clever: :sorry: :angel: :read: *x)
Ещё смайлики…
   
К этому ответу прикреплено по крайней мере одно вложение.

Если вы не хотите добавлять вложения, оставьте поля пустыми.

Максимально разрешённый размер вложения: 15 МБ.

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