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"); } } }