Skip to content

Commit

Permalink
Test large inputs for sha1 and sha256, also remove unused import.
Browse files Browse the repository at this point in the history
BUG=
R=rmacnak@google.com

Review URL: https://codereview.chromium.org//1348823004 .
  • Loading branch information
sethladd committed Sep 17, 2015
1 parent c34372e commit 85e581e
Show file tree
Hide file tree
Showing 4 changed files with 24 additions and 1 deletion.
1 change: 0 additions & 1 deletion lib/src/hash_base.dart
Expand Up @@ -4,7 +4,6 @@

library crypto.hash_base;

import 'dart:math' as math;
import 'dart:typed_data';

import 'hash.dart';
Expand Down
5 changes: 5 additions & 0 deletions test/sha1_test.dart
Expand Up @@ -7,6 +7,7 @@ library sha1_test;

import "package:crypto/crypto.dart";
import "package:test/test.dart";
import 'very_long_input.dart';

part 'sha1_long_test_vectors.dart';
part 'sha1_short_test_vectors.dart';
Expand All @@ -21,6 +22,10 @@ void main() {
test('short inputs', () {
_testStandardVectors(sha1_short_inputs, sha1_short_mds);
});
test('input bit length greater than 32 bits', () {
veryLongInput(
new SHA1(), 1000000000, '1dd775261d7abab0b66910acc1d827a2c3799eaf');
});
}

void _testExpectedValues() {
Expand Down
5 changes: 5 additions & 0 deletions test/sha256_test.dart
Expand Up @@ -7,6 +7,7 @@ library sha256_test;

import "package:test/test.dart";
import "package:crypto/crypto.dart";
import 'very_long_input.dart';

part 'sha256_long_test_vectors.dart';
part 'sha256_short_test_vectors.dart';
Expand All @@ -19,6 +20,10 @@ void main() {
() => _testStandardVectors(sha256_long_inputs, sha256_long_mds));
test('short inputs',
() => _testStandardVectors(sha256_short_inputs, sha256_short_mds));
test('input bit length greater than 32 bits', () {
veryLongInput(new SHA256(), 1000000000,
'bc17f06f9d9b5f6f79ca189a1772b1a3a38d6e40c45bec50f9c4f28144efddca');
});
}

void _testExpectedValues() {
Expand Down
14 changes: 14 additions & 0 deletions test/very_long_input.dart
@@ -0,0 +1,14 @@
library very_long_input_test;

import 'package:crypto/crypto.dart';
import 'package:test/test.dart';

veryLongInput(digester, int byteLength, String verify) {
var nullCharacter = '\u0000'.codeUnitAt(0);
var input = [nullCharacter];
for (var i = 0; i < byteLength; i++) {
digester.add(input);
}
var d = digester.close();
expect(CryptoUtils.bytesToHex(d), verify);
}

0 comments on commit 85e581e

Please sign in to comment.