xor function
Realiza a operação XOR entre dois arrays de bytes aList
e bList
.
Se um array for menor, os bytes faltantes são considerados 0. Retorna um Uint8List com o resultado do XOR byte a byte.
Implementation
Uint8List xor(List<int> aList, List<int> bList) {
final a = Uint8List.fromList(aList);
final b = Uint8List.fromList(bList);
if (a.isEmpty || b.isEmpty) {
throw ArgumentError("Uint8List arguments must not be empty");
}
final length = a.length > b.length ? a.length : b.length;
final buffer = Uint8List(length);
for (int i = 0; i < length; i++) {
final aa = i < a.length ? a[i] : 0;
final bb = i < b.length ? b[i] : 0;
buffer[i] = aa ^ bb;
}
return buffer;
}