/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

  1. /**
  2. * SHA224Test
  3. *
  4. * A test class for SHA224
  5. * Copyright (c) 2007 Henri Torgemane
  6. *
  7. * See LICENSE.txt for full license information.
  8. */
  9. package com.hurlant.crypto.tests
  10. {
  11. import com.hurlant.crypto.hash.SHA224;
  12. import com.hurlant.util.Hex;
  13. import flash.utils.ByteArray;
  14. public class SHA224Test extends TestCase
  15. {
  16. public function SHA224Test(h:ITestHarness)
  17. {
  18. super(h,"SHA-224 Test");
  19. runTest(testSha224,"SHA-224 Test Vectors");
  20. // takes a few seconds, but uncomment if you must.
  21. //runTest(testLongSha224,"SHA-224 Long Test Vectors");
  22. h.endTestCase();
  23. }
  24. /**
  25. * Test vectors courtesy of
  26. * http://www.ietf.org/rfc/rfc3874.txt
  27. */
  28. public function testSha224():void {
  29. var srcs:Array = [
  30. Hex.fromString("abc"),
  31. Hex.fromString("abcdbcdecdefdefgefghfghighijhijkijkljklmklmnlmnomnopnopq")];
  32. var hashes:Array = [
  33. "23097d223405d8228642a477bda255b32aadbce4bda0b3f7e36c9da7",
  34. "75388b16512776cc5dba5da1fd890150b0c6455cb4f58b1952522525"];
  35. var sha224:SHA224 = new SHA224;
  36. for (var i:uint=0;i<srcs.length;i++) {
  37. var src:ByteArray = Hex.toArray(srcs[i]);
  38. var digest:ByteArray = sha224.hash(src);
  39. assert("SHA224 Test "+i, Hex.fromArray(digest) == hashes[i]);
  40. }
  41. }
  42. public function testLongSha224():void {
  43. var src:ByteArray = new ByteArray;
  44. var a:uint = "a".charCodeAt(0);
  45. for (var i:uint=0;i<1e6;i++) {
  46. src[i] = a;
  47. }
  48. var sha224:SHA224 = new SHA224;
  49. var digest:ByteArray = sha224.hash(src);
  50. var hash:String = "20794655980c91d8bbb4c1ea97618a4bf03f42581948b2ee4ee7ad67";
  51. assert("SHA224 Long Test", Hex.fromArray(digest) == hash);
  52. }
  53. }
  54. }