public static void encrypt(global::haxe.io.Bytes src, global::haxe.io.Bytes iv, int blockSize, global::haxe.lang.Function encryptBlock) { #line 9 "C:\\HaxeToolkit\\haxe\\lib\\crypto\\0,3,0\\src\\haxe\\crypto\\mode\\PCBC.hx" global::haxe.io.Bytes vector = iv.sub(0, iv.length); int i = 0; #line 11 "C:\\HaxeToolkit\\haxe\\lib\\crypto\\0,3,0\\src\\haxe\\crypto\\mode\\PCBC.hx" int len = src.length; while ((i < len)) { #line 14 "C:\\HaxeToolkit\\haxe\\lib\\crypto\\0,3,0\\src\\haxe\\crypto\\mode\\PCBC.hx" global::haxe.io.Bytes plainText = src.sub(i, blockSize); { #line 15 "C:\\HaxeToolkit\\haxe\\lib\\crypto\\0,3,0\\src\\haxe\\crypto\\mode\\PCBC.hx" int _g = 0; #line 15 "C:\\HaxeToolkit\\haxe\\lib\\crypto\\0,3,0\\src\\haxe\\crypto\\mode\\PCBC.hx" int _g1 = blockSize; #line 15 "C:\\HaxeToolkit\\haxe\\lib\\crypto\\0,3,0\\src\\haxe\\crypto\\mode\\PCBC.hx" while ((_g < _g1)) { #line 15 "C:\\HaxeToolkit\\haxe\\lib\\crypto\\0,3,0\\src\\haxe\\crypto\\mode\\PCBC.hx" int j = _g++; #line 17 "C:\\HaxeToolkit\\haxe\\lib\\crypto\\0,3,0\\src\\haxe\\crypto\\mode\\PCBC.hx" src.b[(i + j)] = ((byte)((((int)(((byte)(src.b[(i + j)])))) ^ ((int)(((byte)(vector.b[j]))))))); } } #line 20 "C:\\HaxeToolkit\\haxe\\lib\\crypto\\0,3,0\\src\\haxe\\crypto\\mode\\PCBC.hx" encryptBlock.__hx_invoke4_o(default(double), src, ((double)(i)), global::haxe.lang.Runtime.undefined, default(double), src, ((double)(i)), global::haxe.lang.Runtime.undefined); vector = src.sub(i, blockSize); #line 22 "C:\\HaxeToolkit\\haxe\\lib\\crypto\\0,3,0\\src\\haxe\\crypto\\mode\\PCBC.hx" { #line 22 "C:\\HaxeToolkit\\haxe\\lib\\crypto\\0,3,0\\src\\haxe\\crypto\\mode\\PCBC.hx" int _g2 = 0; #line 22 "C:\\HaxeToolkit\\haxe\\lib\\crypto\\0,3,0\\src\\haxe\\crypto\\mode\\PCBC.hx" int _g3 = blockSize; #line 22 "C:\\HaxeToolkit\\haxe\\lib\\crypto\\0,3,0\\src\\haxe\\crypto\\mode\\PCBC.hx" while ((_g2 < _g3)) { #line 22 "C:\\HaxeToolkit\\haxe\\lib\\crypto\\0,3,0\\src\\haxe\\crypto\\mode\\PCBC.hx" int j1 = _g2++; #line 24 "C:\\HaxeToolkit\\haxe\\lib\\crypto\\0,3,0\\src\\haxe\\crypto\\mode\\PCBC.hx" vector.b[j1] = ((byte)((((int)(((byte)(vector.b[j1])))) ^ ((int)(((byte)(plainText.b[j1]))))))); } } #line 26 "C:\\HaxeToolkit\\haxe\\lib\\crypto\\0,3,0\\src\\haxe\\crypto\\mode\\PCBC.hx" i += blockSize; } }
public static void encrypt(global::haxe.io.Bytes src, global::haxe.io.Bytes iv, int blockSize, global::haxe.lang.Function encryptBlock) { #line 9 "C:\\HaxeToolkit\\haxe\\lib\\crypto\\0,3,0\\src\\haxe\\crypto\\mode\\CFB.hx" global::haxe.io.Bytes vector = iv.sub(0, iv.length); int i = 0; #line 11 "C:\\HaxeToolkit\\haxe\\lib\\crypto\\0,3,0\\src\\haxe\\crypto\\mode\\CFB.hx" int len = src.length; while ((i < len)) { #line 14 "C:\\HaxeToolkit\\haxe\\lib\\crypto\\0,3,0\\src\\haxe\\crypto\\mode\\CFB.hx" encryptBlock.__hx_invoke4_o(default(double), vector, ((double)(0)), global::haxe.lang.Runtime.undefined, default(double), vector, ((double)(0)), global::haxe.lang.Runtime.undefined); int block = ((((i + blockSize) > len)) ? ((len - i)) : (blockSize)); #line 16 "C:\\HaxeToolkit\\haxe\\lib\\crypto\\0,3,0\\src\\haxe\\crypto\\mode\\CFB.hx" { #line 16 "C:\\HaxeToolkit\\haxe\\lib\\crypto\\0,3,0\\src\\haxe\\crypto\\mode\\CFB.hx" int _g = 0; #line 16 "C:\\HaxeToolkit\\haxe\\lib\\crypto\\0,3,0\\src\\haxe\\crypto\\mode\\CFB.hx" int _g1 = block; #line 16 "C:\\HaxeToolkit\\haxe\\lib\\crypto\\0,3,0\\src\\haxe\\crypto\\mode\\CFB.hx" while ((_g < _g1)) { #line 16 "C:\\HaxeToolkit\\haxe\\lib\\crypto\\0,3,0\\src\\haxe\\crypto\\mode\\CFB.hx" int j = _g++; #line 18 "C:\\HaxeToolkit\\haxe\\lib\\crypto\\0,3,0\\src\\haxe\\crypto\\mode\\CFB.hx" src.b[(i + j)] = ((byte)((((int)(((byte)(src.b[(i + j)])))) ^ ((int)(((byte)(vector.b[j]))))))); } } #line 21 "C:\\HaxeToolkit\\haxe\\lib\\crypto\\0,3,0\\src\\haxe\\crypto\\mode\\CFB.hx" vector = src.sub(i, block); i += blockSize; } }
public static global::haxe.io.Bytes unpad(global::haxe.io.Bytes encrypt) { unchecked { #line 22 "C:\\HaxeToolkit\\haxe\\lib\\crypto\\0,3,0\\src\\haxe\\crypto\\padding\\AnsiX923.hx" int padding = ((int)(((byte)(encrypt.b[(encrypt.length - 1)])))); return(encrypt.sub(0, (encrypt.length - padding))); } #line default }
public static void encrypt(global::haxe.io.Bytes src, global::haxe.io.Bytes iv, int blockSize, global::haxe.lang.Function encryptBlock) { unchecked { #line 9 "C:\\HaxeToolkit\\haxe\\lib\\crypto\\0,3,0\\src\\haxe\\crypto\\mode\\CTR.hx" global::haxe.io.Bytes vector = null; global::haxe.io.Bytes vkey = iv.sub(0, iv.length); #line 11 "C:\\HaxeToolkit\\haxe\\lib\\crypto\\0,3,0\\src\\haxe\\crypto\\mode\\CTR.hx" int i = 0; int len = src.length; #line 13 "C:\\HaxeToolkit\\haxe\\lib\\crypto\\0,3,0\\src\\haxe\\crypto\\mode\\CTR.hx" while ((i < len)) { #line 15 "C:\\HaxeToolkit\\haxe\\lib\\crypto\\0,3,0\\src\\haxe\\crypto\\mode\\CTR.hx" vector = vkey.sub(0, vkey.length); encryptBlock.__hx_invoke4_o(default(double), vector, ((double)(0)), global::haxe.lang.Runtime.undefined, default(double), vector, ((double)(0)), global::haxe.lang.Runtime.undefined); #line 18 "C:\\HaxeToolkit\\haxe\\lib\\crypto\\0,3,0\\src\\haxe\\crypto\\mode\\CTR.hx" int block = ((((i + blockSize) > len)) ? ((len - i)) : (blockSize)); { #line 19 "C:\\HaxeToolkit\\haxe\\lib\\crypto\\0,3,0\\src\\haxe\\crypto\\mode\\CTR.hx" int _g = 0; #line 19 "C:\\HaxeToolkit\\haxe\\lib\\crypto\\0,3,0\\src\\haxe\\crypto\\mode\\CTR.hx" int _g1 = block; #line 19 "C:\\HaxeToolkit\\haxe\\lib\\crypto\\0,3,0\\src\\haxe\\crypto\\mode\\CTR.hx" while ((_g < _g1)) { #line 19 "C:\\HaxeToolkit\\haxe\\lib\\crypto\\0,3,0\\src\\haxe\\crypto\\mode\\CTR.hx" int j = _g++; #line 21 "C:\\HaxeToolkit\\haxe\\lib\\crypto\\0,3,0\\src\\haxe\\crypto\\mode\\CTR.hx" src.b[(i + j)] = ((byte)((((int)(((byte)(src.b[(i + j)])))) ^ ((int)(((byte)(vector.b[j]))))))); } } #line 24 "C:\\HaxeToolkit\\haxe\\lib\\crypto\\0,3,0\\src\\haxe\\crypto\\mode\\CTR.hx" int j1 = blockSize; while ((j1-- >= 0)) { #line 26 "C:\\HaxeToolkit\\haxe\\lib\\crypto\\0,3,0\\src\\haxe\\crypto\\mode\\CTR.hx" vkey.b[j1] = ((byte)((((int)(((byte)(vkey.b[j1])))) + 1))); if ((((int)(((byte)(vkey.b[j1])))) != 0)) { #line 27 "C:\\HaxeToolkit\\haxe\\lib\\crypto\\0,3,0\\src\\haxe\\crypto\\mode\\CTR.hx" break; } } #line 30 "C:\\HaxeToolkit\\haxe\\lib\\crypto\\0,3,0\\src\\haxe\\crypto\\mode\\CTR.hx" i += blockSize; } } #line default }
public static global::haxe.io.Bytes unpad(global::haxe.io.Bytes encrypt) { unchecked { #line 22 "C:\\HaxeToolkit\\haxe\\lib\\crypto\\0,3,0\\src\\haxe\\crypto\\padding\\BitPadding.hx" int padding = 0; int pos = (encrypt.length - 1); #line 24 "C:\\HaxeToolkit\\haxe\\lib\\crypto\\0,3,0\\src\\haxe\\crypto\\padding\\BitPadding.hx" while (((padding != 128) && (pos > -1))) { #line 25 "C:\\HaxeToolkit\\haxe\\lib\\crypto\\0,3,0\\src\\haxe\\crypto\\padding\\BitPadding.hx" padding = ((int)(((byte)(encrypt.b[pos])))); --pos; } #line 28 "C:\\HaxeToolkit\\haxe\\lib\\crypto\\0,3,0\\src\\haxe\\crypto\\padding\\BitPadding.hx" return(encrypt.sub(0, (pos + 1))); } #line default }
public static global::haxe.io.Bytes unpad(global::haxe.io.Bytes encrypt) { unchecked { #line 21 "C:\\HaxeToolkit\\haxe\\lib\\crypto\\0,3,0\\src\\haxe\\crypto\\padding\\NullPadding.hx" int padding = 0; int pos = encrypt.length; #line 23 "C:\\HaxeToolkit\\haxe\\lib\\crypto\\0,3,0\\src\\haxe\\crypto\\padding\\NullPadding.hx" while (((padding == 0) && (pos > 0))) { #line 24 "C:\\HaxeToolkit\\haxe\\lib\\crypto\\0,3,0\\src\\haxe\\crypto\\padding\\NullPadding.hx" --pos; padding = ((int)(((byte)(encrypt.b[pos])))); } #line 27 "C:\\HaxeToolkit\\haxe\\lib\\crypto\\0,3,0\\src\\haxe\\crypto\\padding\\NullPadding.hx" return(encrypt.sub(0, (pos + 1))); } #line default }
public static global::haxe.io.Bytes unpad(global::haxe.io.Bytes encrypt) { unchecked { #line 23 "C:\\HaxeToolkit\\haxe\\lib\\crypto\\0,3,0\\src\\haxe\\crypto\\padding\\TBC.hx" int pos = (encrypt.length - 1); int paddingByte = ((int)(((byte)(encrypt.b[pos])))); #line 25 "C:\\HaxeToolkit\\haxe\\lib\\crypto\\0,3,0\\src\\haxe\\crypto\\padding\\TBC.hx" int padding = paddingByte; while (((padding == paddingByte) && (pos > -1))) { #line 27 "C:\\HaxeToolkit\\haxe\\lib\\crypto\\0,3,0\\src\\haxe\\crypto\\padding\\TBC.hx" --pos; padding = ((int)(((byte)(encrypt.b[pos])))); } #line 30 "C:\\HaxeToolkit\\haxe\\lib\\crypto\\0,3,0\\src\\haxe\\crypto\\padding\\TBC.hx" return(encrypt.sub(0, (pos + 1))); } #line default }
public static global::haxe.io.Bytes unpad(global::haxe.io.Bytes encrypt) { unchecked { #line 23 "C:\\HaxeToolkit\\haxe\\lib\\crypto\\0,3,0\\src\\haxe\\crypto\\padding\\PKCS7.hx" int padding = ((int)(((byte)(encrypt.b[(encrypt.length - 1)])))); if ((padding > encrypt.length)) { #line 24 "C:\\HaxeToolkit\\haxe\\lib\\crypto\\0,3,0\\src\\haxe\\crypto\\padding\\PKCS7.hx" throw global::haxe.lang.HaxeException.wrap(global::haxe.lang.Runtime.concat(global::haxe.lang.Runtime.concat(global::haxe.lang.Runtime.concat(global::haxe.lang.Runtime.concat("Cannot remove ", global::haxe.lang.Runtime.toString(padding)), " bytes, because message is "), global::haxe.lang.Runtime.toString(encrypt.length)), " bytes")); } #line 25 "C:\\HaxeToolkit\\haxe\\lib\\crypto\\0,3,0\\src\\haxe\\crypto\\padding\\PKCS7.hx" int block = (encrypt.length - padding); { #line 26 "C:\\HaxeToolkit\\haxe\\lib\\crypto\\0,3,0\\src\\haxe\\crypto\\padding\\PKCS7.hx" int _g = block; #line 26 "C:\\HaxeToolkit\\haxe\\lib\\crypto\\0,3,0\\src\\haxe\\crypto\\padding\\PKCS7.hx" int _g1 = encrypt.length; #line 26 "C:\\HaxeToolkit\\haxe\\lib\\crypto\\0,3,0\\src\\haxe\\crypto\\padding\\PKCS7.hx" while ((_g < _g1)) { #line 26 "C:\\HaxeToolkit\\haxe\\lib\\crypto\\0,3,0\\src\\haxe\\crypto\\padding\\PKCS7.hx" int i = _g++; if ((((int)(((byte)(encrypt.b[i])))) != padding)) { #line 27 "C:\\HaxeToolkit\\haxe\\lib\\crypto\\0,3,0\\src\\haxe\\crypto\\padding\\PKCS7.hx" throw global::haxe.lang.HaxeException.wrap(global::haxe.lang.Runtime.concat(global::haxe.lang.Runtime.concat(global::haxe.lang.Runtime.concat(global::haxe.lang.Runtime.concat(global::haxe.lang.Runtime.concat("Invalid padding value. Got ", global::haxe.lang.Runtime.toString(((int)(((byte)(encrypt.b[i])))))), ", expected "), global::haxe.lang.Runtime.toString(padding)), " at position "), global::haxe.lang.Runtime.toString(i))); } } } #line 29 "C:\\HaxeToolkit\\haxe\\lib\\crypto\\0,3,0\\src\\haxe\\crypto\\padding\\PKCS7.hx" return(encrypt.sub(0, block)); } #line default }
public virtual void readUncompressedBlock(global::haxe.io.Bytes data) { unchecked { int sectorSize = 4096; int offset = sectorSize; while (((offset + 3) < data.length)) { int entryType = this.getInteger(data, offset); if ((entryType == 2)) { global::alphatab.importer.GpxFile file = new global::alphatab.importer.GpxFile(); file.fileName = this.getString(data, (offset + 4), 127); file.fileSize = this.getInteger(data, (offset + 140)); bool storeFile = default(bool); if ((this._fileFilter != default(global::haxe.lang.Function))) { storeFile = ((bool)(this._fileFilter.__hx_invoke1_o(default(double), file.fileName))); } else { storeFile = this.defaultFileFilter(file.fileName); } if (storeFile) { this.files.push(file); } int dataPointerOffset = (offset + 148); int sector = 0; int sectorCount = 0; global::alphatab.io.BytesArray fileData = default(global::alphatab.io.BytesArray); if (storeFile) { fileData = new global::alphatab.io.BytesArray(new global::haxe.lang.Null <int>(file.fileSize, true)); } else { fileData = default(global::alphatab.io.BytesArray); } while (((sector = this.getInteger(data, (dataPointerOffset + (4 * sectorCount++)))) != 0)) { offset = (sector * sectorSize); if (storeFile) { fileData.addBytes(data.sub(offset, sectorSize)); } } if (storeFile) { int __temp_stmt507 = default(int); { double x = global::System.Math.Min(((double)(file.fileSize)), ((double)(fileData.length))); __temp_stmt507 = ((int)(x)); } file.data = global::haxe.io.Bytes.alloc(__temp_stmt507); file.data.blit(0, fileData.getBuffer(), 0, file.data.length); } } offset += sectorSize; } } }
public static global::haxe.io.Bytes pad(global::haxe.io.Bytes ciphertext, int blockSize) { #line 9 "C:\\HaxeToolkit\\haxe\\lib\\crypto\\0,3,0\\src\\haxe\\crypto\\padding\\NoPadding.hx" return(ciphertext.sub(0, ciphertext.length)); }