SB3Utility.CryptoTransformOneCode.TransformBlock C# (CSharp) Method

TransformBlock() public method

public TransformBlock ( byte inputBuffer, int inputOffset, int inputCount, byte outputBuffer, int outputOffset ) : int
inputBuffer byte
inputOffset int
inputCount int
outputBuffer byte
outputOffset int
return int
        public int TransformBlock(byte[] inputBuffer, int inputOffset, int inputCount, byte[] outputBuffer, int outputOffset)
        {
            /*int transformCount = 0;
            while (transformCount < inputCount)
            {
                for (int i = 0; i < code.Length; i++, transformCount++)
                {
                    outputBuffer[outputOffset + transformCount] = (byte)(inputBuffer[inputOffset + transformCount] ^ code[i]);
                }
            }
            return transformCount;*/
            int blocksize = code.Length;
            int transformCount = (int)Math.Ceiling((double)inputCount / blocksize) * blocksize;
            for (int i = 0; i < transformCount; i++)
            {
                outputBuffer[outputOffset + i] = (byte)(inputBuffer[inputOffset + i] ^ code[i% blocksize]);
            }
            return transformCount;
        }