4 * A test class for MD2
\r
5 * Copyright (c) 2007 Henri Torgemane
\r
7 * See LICENSE.txt for full license information.
\r
9 package com.hurlant.crypto.tests
\r
11 import com.hurlant.crypto.hash.MD2;
\r
12 import com.hurlant.util.Hex;
\r
14 import flash.utils.ByteArray;
\r
16 public class MD2Test extends TestCase
\r
18 public function MD2Test(h:ITestHarness)
\r
20 super(h, "MD2 Test");
\r
21 runTest(testMd2, "MD2 Test Vectors");
\r
26 * Test Vectors grabbed from
\r
27 * http://www.faqs.org/rfcs/rfc1319.html
\r
29 public function testMd2():void {
\r
32 Hex.fromString("a"),
\r
33 Hex.fromString("abc"),
\r
34 Hex.fromString("message digest"),
\r
35 Hex.fromString("abcdefghijklmnopqrstuvwxyz"),
\r
36 Hex.fromString("ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789"),
\r
37 Hex.fromString("12345678901234567890123456789012345678901234567890123456789012345678901234567890")
\r
39 var hashes:Array = [
\r
40 "8350e5a3e24c153df2275c9f80692773",
\r
41 "32ec01ec4a6dac72c0ab96fb34c0b5d1",
\r
42 "da853b0d3f88d99b30283a69e6ded6bb",
\r
43 "ab4f496bfb2a530b219ff33031fe06b0",
\r
44 "4e8ddff3650292ab5a4108c3aa47940b",
\r
45 "da33def2a42df13975352846c30338cd",
\r
46 "d5976f79d83d3a0dc9806c3c66f3efd8"
\r
48 var md2:MD2 = new MD2;
\r
49 for (var i:uint=0;i<srcs.length;i++) {
\r
50 var src:ByteArray = Hex.toArray(srcs[i]);
\r
51 var digest:ByteArray = md2.hash(src);
\r
52 assert("MD2 Test "+i, Hex.fromArray(digest) == hashes[i]);
\r