56 lines
1.5 KiB
ActionScript
56 lines
1.5 KiB
ActionScript
/**
|
|
* MD2Test
|
|
*
|
|
* A test class for MD2
|
|
* Copyright (c) 2007 Henri Torgemane
|
|
*
|
|
* See LICENSE.txt for full license information.
|
|
*/
|
|
package com.hurlant.crypto.tests
|
|
{
|
|
import com.hurlant.crypto.hash.MD2;
|
|
import com.hurlant.util.Hex;
|
|
|
|
import flash.utils.ByteArray;
|
|
|
|
public class MD2Test extends TestCase
|
|
{
|
|
public function MD2Test(h:ITestHarness)
|
|
{
|
|
super(h, "MD2 Test");
|
|
runTest(testMd2, "MD2 Test Vectors");
|
|
h.endTestCase();
|
|
}
|
|
|
|
/**
|
|
* Test Vectors grabbed from
|
|
* http://www.faqs.org/rfcs/rfc1319.html
|
|
*/
|
|
public function testMd2():void {
|
|
var srcs:Array = [
|
|
"",
|
|
Hex.fromString("a"),
|
|
Hex.fromString("abc"),
|
|
Hex.fromString("message digest"),
|
|
Hex.fromString("abcdefghijklmnopqrstuvwxyz"),
|
|
Hex.fromString("ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789"),
|
|
Hex.fromString("12345678901234567890123456789012345678901234567890123456789012345678901234567890")
|
|
];
|
|
var hashes:Array = [
|
|
"8350e5a3e24c153df2275c9f80692773",
|
|
"32ec01ec4a6dac72c0ab96fb34c0b5d1",
|
|
"da853b0d3f88d99b30283a69e6ded6bb",
|
|
"ab4f496bfb2a530b219ff33031fe06b0",
|
|
"4e8ddff3650292ab5a4108c3aa47940b",
|
|
"da33def2a42df13975352846c30338cd",
|
|
"d5976f79d83d3a0dc9806c3c66f3efd8"
|
|
];
|
|
var md2:MD2 = new MD2;
|
|
for (var i:uint=0;i<srcs.length;i++) {
|
|
var src:ByteArray = Hex.toArray(srcs[i]);
|
|
var digest:ByteArray = md2.hash(src);
|
|
assert("MD2 Test "+i, Hex.fromArray(digest) == hashes[i]);
|
|
}
|
|
}
|
|
}
|
|
} |