public void CargarParaDescifrarZig([FromBody] object Descifrar) { var a = JsonConvert.SerializeObject(Descifrar); ZigZagData Zigzag = JsonConvert.DeserializeObject <ZigZagData>(a); var cantNiveles = Convert.ToInt32(Zigzag.Niveles); var nombreArchivo = Zigzag.NombreArchivo.Split('.'); var nombre = nombreArchivo[0]; var ubicacion = Path.GetFullPath("Archivos Cifrados\\" + Zigzag.NombreArchivo); var ubicacionCifrados = Path.GetFullPath("Archivos Descifrados\\" + nombre + ".zig"); ZigZag zigzag = new ZigZag(); var Archivo = new FileStream(ubicacion, FileMode.OpenOrCreate); using (var lectura = new BinaryReader(Archivo)) { var textoArchivo = new byte[Archivo.Length]; var i = 0; while (lectura.BaseStream.Position != lectura.BaseStream.Length) { textoArchivo[i] = lectura.ReadByte(); i++; } var textoDescifrado = zigzag.DecryptZigZag(textoArchivo, Zigzag.Niveles); using (var writeStream = new FileStream(ubicacionCifrados, FileMode.OpenOrCreate)) { using (var writer = new BinaryWriter(writeStream)) { writer.Write(textoDescifrado); } } } Archivo.Close(); }