Example #1
0
        void getEncription(ByteIO byteIO)
        {
            int passLength = getPasswordLength(byteIO.Length);

            var pass = getPassword(passLength);

            {
                int passIndex = 0;

                for (int i = 0; i < byteIO.Length; i++)
                {
                    if (passIndex >= pass.Length)
                    {
                        passIndex = 0;
                    }

                    var bt = byteIO[i];

                    unchecked
                    {
                        bt = encryption(bt, pass[passIndex], passIndex);
                    }

                    byteIO[i] = bt;

                    passIndex++;
                }
            }

            int passLengthPosition = createPassLengthPosition(passLength + sizeof(int) + byteIO.Length);

            byteIO.Add(pass.Length, passLengthPosition);

            byteIO.AddOnlyBytes(pass, byteIO.Length);
        }
Example #2
0
        public override byte[] Do()
        {
            var byteIO = new ByteIO(_byteBuffer);

            int nullPosition = createPassLengthPosition(byteIO.Length + sizeof(int));

            byteIO.Add(0, nullPosition);

            for (int i = 0; i < _levelCount; i++)
            {
                getEncription(byteIO);
            }

            return(byteIO.ToByteArray());
        }