blob: 8ac12157e68f44e46e04aeeca7609cf07f5e32f3 [file] [log] [blame]
// 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);
}