aboutsummaryrefslogtreecommitdiffstats
path: root/signaling-server/node_modules/socket.io/node_modules/socket.io-client/lib/vendor/web-socket-js/flash-src/com/hurlant/crypto/tests/XTeaKeyTest.as
diff options
context:
space:
mode:
Diffstat (limited to 'signaling-server/node_modules/socket.io/node_modules/socket.io-client/lib/vendor/web-socket-js/flash-src/com/hurlant/crypto/tests/XTeaKeyTest.as')
-rwxr-xr-xsignaling-server/node_modules/socket.io/node_modules/socket.io-client/lib/vendor/web-socket-js/flash-src/com/hurlant/crypto/tests/XTeaKeyTest.as66
1 files changed, 66 insertions, 0 deletions
diff --git a/signaling-server/node_modules/socket.io/node_modules/socket.io-client/lib/vendor/web-socket-js/flash-src/com/hurlant/crypto/tests/XTeaKeyTest.as b/signaling-server/node_modules/socket.io/node_modules/socket.io-client/lib/vendor/web-socket-js/flash-src/com/hurlant/crypto/tests/XTeaKeyTest.as
new file mode 100755
index 0000000..90a0b48
--- /dev/null
+++ b/signaling-server/node_modules/socket.io/node_modules/socket.io-client/lib/vendor/web-socket-js/flash-src/com/hurlant/crypto/tests/XTeaKeyTest.as
@@ -0,0 +1,66 @@
+/**
+ * XTeaKeyTest
+ *
+ * A test class for XTeaKey
+ * Copyright (c) 2007 Henri Torgemane
+ *
+ * See LICENSE.txt for full license information.
+ */
+package com.hurlant.crypto.tests
+{
+ import com.hurlant.crypto.prng.Random;
+ import com.hurlant.crypto.symmetric.ECBMode;
+ import com.hurlant.crypto.symmetric.XTeaKey;
+ import com.hurlant.util.Hex;
+
+ import flash.utils.ByteArray;
+ import flash.utils.getTimer;
+
+ public class XTeaKeyTest extends TestCase
+ {
+ public function XTeaKeyTest(h:ITestHarness) {
+ super(h, "XTeaKey Test");
+ runTest(testGetBlockSize, "XTea Block Size");
+ runTest(testVectors, "XTea Test Vectors");
+
+ h.endTestCase();
+ }
+
+ public function testGetBlockSize():void {
+ var tea:XTeaKey = new XTeaKey(Hex.toArray("deadbabecafebeefdeadbabecafebeef"));
+ assert("tea blocksize", tea.getBlockSize()==8);
+ }
+
+ public function testVectors():void {
+ // blah.
+ // can't find working test vectors.
+ // algorithms should not get published without vectors :(
+ var keys:Array=[
+ "00000000000000000000000000000000",
+ "2b02056806144976775d0e266c287843"];
+ var pts:Array=[
+ "0000000000000000",
+ "74657374206d652e"];
+ var cts:Array=[
+ "2dc7e8d3695b0538",
+ "7909582138198783"];
+ // self-fullfilling vectors.
+ // oh well, at least I can decrypt what I produce. :(
+
+ for (var i:uint=0;i<keys.length;i++) {
+ var key:ByteArray = Hex.toArray(keys[i]);
+ var pt:ByteArray = Hex.toArray(pts[i]);
+ var tea:XTeaKey = new XTeaKey(key);
+ tea.encrypt(pt);
+ var out:String = Hex.fromArray(pt);
+ assert("comparing "+cts[i]+" to "+out, cts[i]==out);
+ // now go back to plaintext.
+ pt.position=0;
+ tea.decrypt(pt);
+ out = Hex.fromArray(pt);
+ assert("comparing "+pts[i]+" to "+out, pts[i]==out);
+ }
+ }
+
+ }
+} \ No newline at end of file