public IActionResult Cifrar([FromRoute] string method, [FromForm] IFormFile file, [FromForm] Datos key)
        {
            using var fileRead = file.OpenReadStream();
            try
            {
                if (method == "Cesar" && key.Word != null)
                {
                    var BfileRead = new BufferedStream(fileRead);
                    var reader    = new StreamReader(BfileRead);

                    string prueba = reader.ReadToEnd();

                    reader.Close();
                    BfileRead.Close();
                    fileRead.Close();

                    //WRITE
                    var fileWrite  = new FileStream(Path.GetFileNameWithoutExtension(file.FileName) + ".csr", FileMode.OpenOrCreate);
                    var BfileWrite = new BufferedStream(fileWrite);
                    var writer     = new StreamWriter(BfileWrite);

                    Cifrado hola = new Cifrado();

                    string encoded = hola.encoder(key.Word);

                    string salida = "";
                    salida = hola.CifrarCesar(prueba, encoded);

                    foreach (char item in salida)
                    {
                        writer.Write(item);
                    }

                    writer.Close();
                    BfileWrite.Close();
                    fileWrite.Close();

                    var files = System.IO.File.OpenRead(Path.GetFileNameWithoutExtension(file.FileName) + ".csr");
                    return(new FileStreamResult(files, "application/csr")
                    {
                        FileDownloadName = Path.GetFileNameWithoutExtension(file.FileName) + ".csr"
                    });
                }
                else if (method == "ZigZag" && key.Levels != null)
                {
                    var BfileRead = new BufferedStream(fileRead);
                    var reader    = new StreamReader(BfileRead);

                    string prueba = reader.ReadToEnd();

                    reader.Close();
                    BfileRead.Close();
                    fileRead.Close();

                    //WRITE
                    var fileWrite  = new FileStream(Path.GetFileNameWithoutExtension(file.FileName) + ".zz", FileMode.OpenOrCreate);
                    var BfileWrite = new BufferedStream(fileWrite);
                    var writer     = new StreamWriter(BfileWrite);

                    Cifrado hola = new Cifrado();

                    string salida = "";
                    salida = hola.Cifrarzigzag(prueba, key.Levels);

                    foreach (char item in salida)
                    {
                        writer.Write(item);
                    }

                    writer.Close();
                    BfileWrite.Close();
                    fileWrite.Close();

                    var files = System.IO.File.OpenRead(Path.GetFileNameWithoutExtension(file.FileName) + ".zz");
                    return(new FileStreamResult(files, "application/zz")
                    {
                        FileDownloadName = Path.GetFileNameWithoutExtension(file.FileName) + ".zz"
                    });
                }
                else if (method == "Ruta" && key.Rows != null && key.Columns != null)
                {
                    var BfileRead = new BufferedStream(fileRead);
                    var reader    = new StreamReader(BfileRead);

                    string prueba = reader.ReadToEnd();

                    reader.Close();
                    BfileRead.Close();
                    fileRead.Close();

                    //WRITE
                    var fileWrite  = new FileStream(Path.GetFileNameWithoutExtension(file.FileName) + ".rt", FileMode.OpenOrCreate);
                    var BfileWrite = new BufferedStream(fileWrite);
                    var writer     = new StreamWriter(BfileWrite);

                    Cifrado hola = new Cifrado();

                    string salida = "";
                    salida = hola.CifrarRuta(prueba, key.Rows, key.Columns);

                    foreach (char item in salida)
                    {
                        writer.Write(item);
                    }

                    writer.Close();
                    BfileWrite.Close();
                    fileWrite.Close();

                    var files = System.IO.File.OpenRead(Path.GetFileNameWithoutExtension(file.FileName) + ".rt");
                    return(new FileStreamResult(files, "application/rt")
                    {
                        FileDownloadName = Path.GetFileNameWithoutExtension(file.FileName) + ".rt"
                    });
                }
                else
                {
                    return(BadRequest("Error no ingreso método o llave"));
                }
            }
            catch (Exception ex)
            {
                return(BadRequest(ex.Message));
            }
        }