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,