AES-256-GCM-Speicherüberlastung
Posted: 12 Mar 2025, 02:01
Ich habe in den letzten 3 Tagen mein Gehirn gesammelt und hoffe, jemand kann mich in die Richtung weisen. /> Ich habe das Streaming gelesen und versucht, das Streaming zu verstehen, aber aus irgendeinem bizarren Grund unterstütze Crypto Kit es nicht? < /p>
Ich habe gesehen
Hat jemand Erfahrungen mit Anwendungsfällen 2024/2025, in der Verschlüsselungsdaten oder eine besserer Speicher -effizienterer Methode gestreamt werden können, ohne auf 1 -GB -Dateien eine Überlastung von Speicher zu verursachen. Im Idealfall möchte ich in der Lage sein, eine Dateigröße zu verschlüsseln, ohne dass die Datei -Problems zu entwerfen. Viel zu viel Speichergebrauch.
Danke,
Ich habe gesehen
Code: Select all
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
}
}
Danke,