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/ECBMode.as | 86 ++++++++++++++++++++++ 1 file changed, 86 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/ECBMode.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/ECBMode.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/ECBMode.as b/signaling-server/node_modules/socket.io/node_modules/socket.io-client/lib/vendor/web-socket-js/flash-src/com/hurlant/crypto/symmetric/ECBMode.as new file mode 100644 index 0000000..b2a7b77 --- /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/ECBMode.as @@ -0,0 +1,86 @@ +/** + * ECBMode + * + * An ActionScript 3 implementation of the ECB confidentiality mode + * Copyright (c) 2007 Henri Torgemane + * + * See LICENSE.txt for full license information. + */ +package com.hurlant.crypto.symmetric +{ + import flash.utils.ByteArray; + import com.hurlant.util.Memory; + import com.hurlant.util.Hex; + + /** + * ECB mode. + * This uses a padding and a symmetric key. + * If no padding is given, PKCS#5 is used. + */ + public class ECBMode implements IMode, ICipher + { + private var key:ISymmetricKey; + private var padding:IPad; + + public function ECBMode(key:ISymmetricKey, padding:IPad = null) { + this.key = key; + if (padding == null) { + padding = new PKCS5(key.getBlockSize()); + } else { + padding.setBlockSize(key.getBlockSize()); + } + this.padding = padding; + } + + public function getBlockSize():uint { + return key.getBlockSize(); + } + + public function encrypt(src:ByteArray):void { + padding.pad(src); + src.position = 0; + var blockSize:uint = key.getBlockSize(); + var tmp:ByteArray = new ByteArray; + var dst:ByteArray = new ByteArray; + for (var i:uint=0;i