| OLD | NEW |
| 1 // Copyright (c) 2012, the Dart project authors. Please see the AUTHORS file | 1 // Copyright (c) 2012, the Dart project authors. Please see the AUTHORS file |
| 2 // for details. All rights reserved. Use of this source code is governed by a | 2 // for details. All rights reserved. Use of this source code is governed by a |
| 3 // BSD-style license that can be found in the LICENSE file. | 3 // BSD-style license that can be found in the LICENSE file. |
| 4 | 4 |
| 5 // Library tag to allow dartium to run the test. | 5 // Library tag to allow dartium to run the test. |
| 6 library sha1_test; | 6 library sha1_test; |
| 7 | 7 |
| 8 import 'dart:crypto'; | 8 import 'dart:crypto'; |
| 9 | 9 |
| 10 part 'sha1_long_test_vectors.dart'; | 10 part 'sha1_long_test_vectors.dart'; |
| 11 part 'sha1_short_test_vectors.dart'; | 11 part 'sha1_short_test_vectors.dart'; |
| 12 | 12 |
| 13 List<int> createTestArr(int len) { | 13 List<int> createTestArr(int len) { |
| 14 var arr = new List<int>(len); | 14 var arr = new List<int>.fixedLength(len); |
| 15 for (var i = 0; i < len; i++) { | 15 for (var i = 0; i < len; i++) { |
| 16 arr[i] = i; | 16 arr[i] = i; |
| 17 } | 17 } |
| 18 return arr; | 18 return arr; |
| 19 } | 19 } |
| 20 | 20 |
| 21 void test() { | 21 void test() { |
| 22 final expected_values = const [ | 22 final expected_values = const [ |
| 23 "da39a3ee5e6b4b0d3255bfef95601890afd80709", | 23 "da39a3ee5e6b4b0d3255bfef95601890afd80709", |
| 24 "5ba93c9db0cff93f52b521d7420e43f6eda2784f", | 24 "5ba93c9db0cff93f52b521d7420e43f6eda2784f", |
| (...skipping 502 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 527 "d64a178d4759b796ec0e77626cf19257c28292fc", | 527 "d64a178d4759b796ec0e77626cf19257c28292fc", |
| 528 "6ae457f71b1cd60b1810fd4379c90bb38154568f", | 528 "6ae457f71b1cd60b1810fd4379c90bb38154568f", |
| 529 "063623280f208df296895ccd867dab8a73cf174d", | 529 "063623280f208df296895ccd867dab8a73cf174d", |
| 530 "7a8b8c9aa0591603cf08e94ec2ae6a6350cbb8a2", | 530 "7a8b8c9aa0591603cf08e94ec2ae6a6350cbb8a2", |
| 531 "20c4232d3066c41e211eefe2834db78a8c083ea4", | 531 "20c4232d3066c41e211eefe2834db78a8c083ea4", |
| 532 "82fdf2cccc77ab556aa35557d0923b162d1b98cf", | 532 "82fdf2cccc77ab556aa35557d0923b162d1b98cf", |
| 533 "3dce8306f3c1810d5d81ed5ebb0ccea947277a61", | 533 "3dce8306f3c1810d5d81ed5ebb0ccea947277a61", |
| 534 "11bca5b61fc1f6d59078ec5354bc6d9adecc0c5d", | 534 "11bca5b61fc1f6d59078ec5354bc6d9adecc0c5d", |
| 535 ]; | 535 ]; |
| 536 for (var i = 0; i < expected_values.length; i++) { | 536 for (var i = 0; i < expected_values.length; i++) { |
| 537 var digest = new SHA1().update(createTestArr(i)).digest(); | 537 var hash = new SHA1(); |
| 538 hash.add(createTestArr(i)); |
| 539 var digest = hash.close(); |
| 538 Expect.equals(expected_values[i], CryptoUtils.bytesToHex(digest)); | 540 Expect.equals(expected_values[i], CryptoUtils.bytesToHex(digest)); |
| 539 } | 541 } |
| 540 } | 542 } |
| 541 | 543 |
| 542 void testInvalidUse() { | 544 void testInvalidUse() { |
| 543 var sha = new SHA1(); | 545 var sha = new SHA1(); |
| 544 sha.digest(); | 546 sha.close(); |
| 545 Expect.throws(() => sha.update([0]), (e) => e is HashException); | 547 Expect.throws(() => sha.add([0]), (e) => e is HashException); |
| 546 } | 548 } |
| 547 | 549 |
| 548 void testRepeatedDigest() { | 550 void testRepeatedDigest() { |
| 549 var sha = new SHA1(); | 551 var sha = new SHA1(); |
| 550 var digest = sha.digest(); | 552 var digest = sha.close(); |
| 551 Expect.listEquals(digest, sha.digest()); | 553 Expect.listEquals(digest, sha.close()); |
| 552 } | 554 } |
| 553 | 555 |
| 554 void testStandardVectors(inputs, mds) { | 556 void testStandardVectors(inputs, mds) { |
| 555 for (var i = 0; i < inputs.length; i++) { | 557 for (var i = 0; i < inputs.length; i++) { |
| 556 var d = new SHA1().update(inputs[i]).digest(); | 558 var hash = new SHA1(); |
| 559 hash.add(inputs[i]); |
| 560 var d = hash.close(); |
| 557 Expect.equals(mds[i], CryptoUtils.bytesToHex(d), '$i'); | 561 Expect.equals(mds[i], CryptoUtils.bytesToHex(d), '$i'); |
| 558 } | 562 } |
| 559 } | 563 } |
| 560 | 564 |
| 561 void main() { | 565 void main() { |
| 562 test(); | 566 test(); |
| 563 testInvalidUse(); | 567 testInvalidUse(); |
| 564 testRepeatedDigest(); | 568 testRepeatedDigest(); |
| 565 testStandardVectors(sha1_long_inputs, sha1_long_mds); | 569 testStandardVectors(sha1_long_inputs, sha1_long_mds); |
| 566 testStandardVectors(sha1_short_inputs, sha1_short_mds); | 570 testStandardVectors(sha1_short_inputs, sha1_short_mds); |
| 567 } | 571 } |
| OLD | NEW |