Exemplo n.º 1
0
        public static byte[] Extend(byte[] key, IPadding padding)
        {
            if (key.Length == 16 ||
                key.Length == 24 ||
                key.Length == 32)
            {
                return(key);
            }

            int length = 0;

            if (key.Length < 16)
            {
                length = 16;
            }
            else if (key.Length < 24)
            {
                length = 24;
            }
            else if (key.Length < 32)
            {
                length = 32;
            }

            var extended = new byte[length];

            Array.Copy(key, extended, key.Length);
            padding.Add(extended, key.Length - 1);
            return(extended);
        }
Exemplo n.º 2
0
        protected void ReadBlock()
        {
            var blockIndex = 0;

            while (blockIndex < Block.Length)
            {
                Block[blockIndex++] = (byte)Input.ReadByte();

                if (Input.Position == Input.Length && blockIndex < Block.Length)
                {
                    Padding.Add(Block, blockIndex - 1);
                    break;
                }
            }
        }