public ActionResult Cifrado(string archivoLeido, int niveles)
        {
            CifradoZigZag cifradoZigZag         = new CifradoZigZag();
            var           BytesList             = cifradoZigZag.LecturaCifrado(archivoLeido, bufferlengt);
            var           CantidadCaracterExtra = 0;
            var           Matrix        = cifradoZigZag.MatrixCreation(BytesList.Count(), niveles, ref CantidadCaracterExtra);
            var           CaracterExtra = new byte();

            if (CantidadCaracterExtra > BytesList.Count())
            {
                BytesList = cifradoZigZag.AgregarCaracterExtra(BytesList, CantidadCaracterExtra, ref CaracterExtra);
            }
            cifradoZigZag.CifrarMensaje(Matrix, niveles, RutaArchivos, BytesList, CaracterExtra);
            return(RedirectToAction("Download"));
        }
        public ActionResult Decifrado(string archivoLeido, int niveles)
        {
            CifradoZigZag cifradoZigZag         = new CifradoZigZag();
            var           CaracterExtra         = new byte();
            var           BytesList             = cifradoZigZag.LecturaDescifrado(archivoLeido, bufferlengt, ref CaracterExtra);
            var           CantidadCaracterExtra = 0;
            var           Matrix         = cifradoZigZag.MatrixCreationDecryption(BytesList.Count(), niveles, ref CantidadCaracterExtra);
            var           CaracterExtra2 = new byte();

            if (CantidadCaracterExtra > BytesList.Count())
            {
                BytesList = cifradoZigZag.AgregarCaracterExtra(BytesList, CantidadCaracterExtra, ref CaracterExtra2);
            }
            //hace falta enviar CaracterExtra2
            cifradoZigZag.DecifrarMensaje(RutaArchivos, niveles, BytesList, Matrix, CaracterExtra);
            return(RedirectToAction("Download"));
        }