/js/lib/Socket.IO-node/support/socket.io-client/lib/vendor/web-socket-js/flash-src/com/hurlant/crypto/tests/SHA224Test.as
http://github.com/onedayitwillmake/RealtimeMultiplayerNodeJs · ActionScript · 58 lines · 40 code · 4 blank · 14 comment · 4 complexity · 54c9ff4e7cde2a6a05d588f30dd58dab MD5 · raw file
- /**
- * SHA224Test
- *
- * A test class for SHA224
- * Copyright (c) 2007 Henri Torgemane
- *
- * See LICENSE.txt for full license information.
- */
- package com.hurlant.crypto.tests
- {
- import com.hurlant.crypto.hash.SHA224;
- import com.hurlant.util.Hex;
-
- import flash.utils.ByteArray;
-
- public class SHA224Test extends TestCase
- {
- public function SHA224Test(h:ITestHarness)
- {
- super(h,"SHA-224 Test");
- runTest(testSha224,"SHA-224 Test Vectors");
- // takes a few seconds, but uncomment if you must.
- //runTest(testLongSha224,"SHA-224 Long Test Vectors");
- h.endTestCase();
- }
-
- /**
- * Test vectors courtesy of
- * http://www.ietf.org/rfc/rfc3874.txt
- */
- public function testSha224():void {
- var srcs:Array = [
- Hex.fromString("abc"),
- Hex.fromString("abcdbcdecdefdefgefghfghighijhijkijkljklmklmnlmnomnopnopq")];
- var hashes:Array = [
- "23097d223405d8228642a477bda255b32aadbce4bda0b3f7e36c9da7",
- "75388b16512776cc5dba5da1fd890150b0c6455cb4f58b1952522525"];
-
- var sha224:SHA224 = new SHA224;
- for (var i:uint=0;i<srcs.length;i++) {
- var src:ByteArray = Hex.toArray(srcs[i]);
- var digest:ByteArray = sha224.hash(src);
- assert("SHA224 Test "+i, Hex.fromArray(digest) == hashes[i]);
- }
- }
- public function testLongSha224():void {
- var src:ByteArray = new ByteArray;
- var a:uint = "a".charCodeAt(0);
- for (var i:uint=0;i<1e6;i++) {
- src[i] = a;
- }
- var sha224:SHA224 = new SHA224;
- var digest:ByteArray = sha224.hash(src);
- var hash:String = "20794655980c91d8bbb4c1ea97618a4bf03f42581948b2ee4ee7ad67";
- assert("SHA224 Long Test", Hex.fromArray(digest) == hash);
- }
- }
- }