Updating npm externals
[KiwiIRC.git] / node / node_modules / socket.io-client / lib / vendor / web-socket-js / flash-src / com / hurlant / crypto / tests / SHA256Test.as
CommitLineData
c0d53c71
JA
1/**\r
2 * SHA256Test\r
3 * \r
4 * A test class for SHA256\r
5 * Copyright (c) 2007 Henri Torgemane\r
6 * \r
7 * See LICENSE.txt for full license information.\r
8 */\r
9package com.hurlant.crypto.tests\r
10{\r
11 import com.hurlant.crypto.hash.SHA256;\r
12 import com.hurlant.util.Hex;\r
13 \r
14 import flash.utils.ByteArray;\r
15 \r
16 public class SHA256Test extends TestCase\r
17 {\r
18 public function SHA256Test(h:ITestHarness)\r
19 {\r
20 super(h,"SHA-256 Test");\r
21 runTest(testSha256,"SHA-256 Test Vectors");\r
22 h.endTestCase();\r
23 }\r
24 \r
25 /**\r
26 * Test vectors courtesy of\r
27 * https://www.cosic.esat.kuleuven.be/nessie/testvectors/hash/sha/Sha-2-256.unverified.test-vectors\r
28 */\r
29 public function testSha256():void {\r
30 var srcs:Array = [\r
31 Hex.fromString(""),\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("abcdbcdecdefdefgefghfghighijhijkijkljklmklmnlmnomnopnopq"),\r
37 Hex.fromString("ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789"),\r
38 Hex.fromString("12345678901234567890123456789012345678901234567890123456789012345678901234567890"),\r
39 ];\r
40 var hashes:Array = [\r
41 "E3B0C44298FC1C149AFBF4C8996FB92427AE41E4649B934CA495991B7852B855",\r
42 "CA978112CA1BBDCAFAC231B39A23DC4DA786EFF8147C4E72B9807785AFEE48BB",\r
43 "BA7816BF8F01CFEA414140DE5DAE2223B00361A396177A9CB410FF61F20015AD",\r
44 "F7846F55CF23E14EEBEAB5B4E1550CAD5B509E3348FBC4EFA3A1413D393CB650",\r
45 "71C480DF93D6AE2F1EFAD1447C66C9525E316218CF51FC8D9ED832F2DAF18B73",\r
46 "248D6A61D20638B8E5C026930C3E6039A33CE45964FF2167F6ECEDD419DB06C1",\r
47 "DB4BFCBD4DA0CD85A60C3C37D3FBD8805C77F15FC6B1FDFE614EE0A7C8FDB4C0",\r
48 "F371BC4A311F2B009EEF952DD83CA80E2B60026C8E935592D0F9C308453C813E"];\r
49 \r
50 // loop.\r
51 var sha256:SHA256 = new SHA256;\r
52 for (var i:uint=0;i<srcs.length;i++) {\r
53 var src:ByteArray = Hex.toArray(srcs[i]);\r
54 var digest:ByteArray = sha256.hash(src);\r
55 assert("SHA256 Test "+i, Hex.fromArray(digest) == hashes[i].toLowerCase());\r
56 }\r
57 \r
58 }\r
59 }\r
60}