From b60df56157ee1fd0bd4938799bac05a62fda91a1 Mon Sep 17 00:00:00 2001 From: lookshe Date: Sat, 14 Mar 2015 20:45:20 +0100 Subject: initial commit from working version --- .../com/hurlant/crypto/symmetric/IVMode.as | 110 +++++++++++++++++++++ 1 file changed, 110 insertions(+) create mode 100644 signaling-server/node_modules/socket.io/node_modules/socket.io-client/lib/vendor/web-socket-js/flash-src/com/hurlant/crypto/symmetric/IVMode.as (limited to 'signaling-server/node_modules/socket.io/node_modules/socket.io-client/lib/vendor/web-socket-js/flash-src/com/hurlant/crypto/symmetric/IVMode.as') diff --git a/signaling-server/node_modules/socket.io/node_modules/socket.io-client/lib/vendor/web-socket-js/flash-src/com/hurlant/crypto/symmetric/IVMode.as b/signaling-server/node_modules/socket.io/node_modules/socket.io-client/lib/vendor/web-socket-js/flash-src/com/hurlant/crypto/symmetric/IVMode.as new file mode 100644 index 0000000..100041a --- /dev/null +++ b/signaling-server/node_modules/socket.io/node_modules/socket.io-client/lib/vendor/web-socket-js/flash-src/com/hurlant/crypto/symmetric/IVMode.as @@ -0,0 +1,110 @@ +/** + * IVMode + * + * An abstract class for confidentialy modes that rely on an initialization vector. + * Copyright (c) 2007 Henri Torgemane + * + * See LICENSE.txt for full license information. + */ +package com.hurlant.crypto.symmetric +{ + import com.hurlant.crypto.prng.Random; + import com.hurlant.crypto.tests.TestCase; + import com.hurlant.util.Memory; + + import flash.utils.ByteArray; + + /** + * An "abtract" class to avoid redundant code in subclasses + */ + public class IVMode + { + protected var key:ISymmetricKey; + protected var padding:IPad; + // random generator used to generate IVs + protected var prng:Random; + // optional static IV. used for testing only. + protected var iv:ByteArray; + // generated IV is stored here. + protected var lastIV:ByteArray; + protected var blockSize:uint; + + + public function IVMode(key:ISymmetricKey, padding:IPad = null) { + this.key = key; + blockSize = key.getBlockSize(); + if (padding == null) { + padding = new PKCS5(blockSize); + } else { + padding.setBlockSize(blockSize); + } + this.padding = padding; + + prng = new Random; + iv = null; + lastIV = new ByteArray; + } + + public function getBlockSize():uint { + return key.getBlockSize(); + } + public function dispose():void { + var i:uint; + if (iv != null) { + for (i=0;i