newMacSink method
Constructs a sink for calculating a Mac.
The parameter secretKey must be non-empty.
The parameter nonce can be const <int>[].
The parameter aad is Associated Authenticated Data (AAD). It can be
empty. If it's non-empty and the algorithm does not support AAD, the
the method throws ArgumentError.
Example
import 'package:cryptography/cryptography.dart';
void main() {
  final secretKey = SecretKey([1,2,3]);
  // Create a sink
  final sink = await Hmac.sha256().newMacSink(
    secretKey: secretKey,
  );
  // Add chunks of data
  sink.add([4,5,6]);
  sink.add([7,8]);
  // Close
  sink.close();
  // We now have a MAC
  final mac = await sink.mac();
  print('MAC: ${mac.bytes');
}
Implementation
@override
Future<DartMacSinkMixin> newMacSink({
  required SecretKey secretKey,
  List<int> nonce = const <int>[],
  List<int> aad = const <int>[],
}) async {
  final secretKeyData = await secretKey.extract();
  return newMacSinkSync(
    secretKeyData: secretKeyData,
    nonce: nonce,
    aad: aad,
  );
}