| // 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<int> input, List<int> 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 = <int>[]; | |
| for (var match in toupleMatch.allMatches(message)) { | |
| bytes.add(int.parse(match.group(0)!, radix: 16)); | |
| } | |
| return Uint8List.fromList(bytes); | |
| } |