Bug:Fix file validation issue
[vnfsdk/refrepo.git] / vnfmarket / src / main / webapp / vnfmarket / node_modules / socket.io-client / lib / vendor / web-socket-js / flash-src / com / hurlant / crypto / tests / ARC4Test.as
1 /**\r
2  * ARC4Test\r
3  * \r
4  * A test class for ARC4\r
5  * Copyright (c) 2007 Henri Torgemane\r
6  * \r
7  * See LICENSE.txt for full license information.\r
8  */\r
9 package com.hurlant.crypto.tests\r
10 {\r
11         import com.hurlant.util.Hex;\r
12         import flash.utils.ByteArray;\r
13         import com.hurlant.crypto.prng.ARC4;\r
14         \r
15         public class ARC4Test extends TestCase\r
16         {\r
17                 public function ARC4Test(h:ITestHarness)\r
18                 {\r
19                         super(h, "ARC4 Test");\r
20                         runTest(testLameVectors,"ARC4 Test Vectors");\r
21                         h.endTestCase();\r
22                 }\r
23                 \r
24                 /**\r
25                  * Sad test vectors pilfered from\r
26                  * http://en.wikipedia.org/wiki/RC4\r
27                  */\r
28                 public function testLameVectors():void {\r
29                         var keys:Array = [\r
30                         Hex.fromString("Key"),\r
31                         Hex.fromString("Wiki"),\r
32                         Hex.fromString("Secret")];\r
33                         var pts:Array = [\r
34                         Hex.fromString("Plaintext"),\r
35                         Hex.fromString("pedia"),\r
36                         Hex.fromString("Attack at dawn")];\r
37                         var cts:Array = [\r
38                         "BBF316E8D940AF0AD3",\r
39                         "1021BF0420",\r
40                         "45A01F645FC35B383552544B9BF5"];\r
41                         \r
42                         for (var i:uint=0;i<keys.length;i++) {\r
43                                 var key:ByteArray = Hex.toArray(keys[i]);\r
44                                 var pt:ByteArray = Hex.toArray(pts[i]);\r
45                                 var rc4:ARC4 = new ARC4(key);\r
46                                 rc4.encrypt(pt);\r
47                                 var out:String = Hex.fromArray(pt).toUpperCase();\r
48                                 assert("comparing "+cts[i]+" to "+out, cts[i]==out);\r
49                                 // now go back to plaintext\r
50                                 rc4.init(key);\r
51                                 rc4.decrypt(pt);\r
52                                 out = Hex.fromArray(pt);\r
53                                 assert("comparing "+pts[i]+" to "+out, pts[i]==out);\r
54                         }\r
55                 }\r
56                 \r
57         }\r
58 }