// Copyright (c) 2015, the Dart project authors. Please see the AUTHORS file // for details. All rights reserved. Use of this source code is governed by a // BSD-style license that can be found in the LICENSE file. import 'dart:typed_data'; import 'package:crypto/crypto.dart'; import 'package:test/test.dart'; /// Asserts that an HMAC using [hash] returns [mac] for [input] and [key]. void expectHmacEquals(Hash hash, List input, List key, String mac) { var hmac = Hmac(hash, key); expect(hmac.convert(input).toString(), startsWith(mac)); } final toupleMatch = RegExp('([0-9a-fA-F]{2})'); Uint8List bytesFromHexString(String message) { var bytes = []; for (var match in toupleMatch.allMatches(message)) { bytes.add(int.parse(match.group(0)!, radix: 16)); } return Uint8List.fromList(bytes); }