Example #1
0
        private void Encrypt(JBLOCK[][][] coefficients, byte[] data)
        {
            var l = JpegHelper.GetLength(coefficients);

            Console.Out.WriteLine($"Capacity = {l / 8}");

            Console.Out.WriteLine("Used = {0}", data.Length);

            for (var i = 0; i < data.Length; i++)
            {
                for (var j = 0; j < 8; j++)
                {
                    var block = JpegHelper.GetBlock(coefficients, i * 8 + j);
                    block[0] = EncryptShort(block[0], BitHelper.GetBit(data[i], j));
                }
            }
        }
        private void EncodeBlocks(JBLOCK[][][] coefficients, byte[] data)
        {
            var l = JpegHelper.GetLength(coefficients);

            Console.Out.WriteLine($"Capacity = {l * BytesPerBlock}");

            EnforcePadding(data, BytesPerBlock);
            Console.Out.WriteLine("Used = {0}", data.Length);

            for (var i = 0; i < data.Length / BytesPerBlock; i++)
            {
                var block = JpegHelper.GetBlock(coefficients, i);
                EncodeBlock(block, data.Skip(i * BytesPerBlock).Take(BytesPerBlock).ToArray());

                if (i % 100 == 0)
                {
                    Console.WriteLine($"{i} bytes encrypted");
                }
            }
        }