decryptFileChunks static method

Uint8List decryptFileChunks(
  1. List<Map<String, dynamic>> encryptedChunks,
  2. String receiverId, {
  3. String? timestamp,
})

Decrypt file chunks

Implementation

static Uint8List decryptFileChunks(
  List<Map<String, dynamic>> encryptedChunks,
  String receiverId, {
  String? timestamp,
}) {
  final sortedChunks = List<Map<String, dynamic>>.from(encryptedChunks)
    ..sort((a, b) => a['chunkIndex'].compareTo(b['chunkIndex']));
  final fileBytes = <int>[];
  for (final chunk in sortedChunks) {
    final chunkData = KaalkaProtocol().decryptEnvelope(chunk, receiverId, timestamp: timestamp);
    fileBytes.addAll(base64.decode(chunkData));
  }
  return Uint8List.fromList(fileBytes);
}