public static void Descifrado(string path, string root, int tamaño)
        {
            string descomprimido = "";
            string directorio;

            directorio = root + @"\\Upload\\";
            if (!Directory.Exists(directorio + "\\Espiral\\"))
            {
                DirectoryInfo di = Directory.CreateDirectory(directorio + "\\Espiral\\");
            }
            string      texto         = System.IO.File.ReadAllText(@path);
            RutaEspiral descifrado    = new RutaEspiral(texto, tamaño);
            string      txtdescifrado = descifrado.Descifrado();

            txtdescifrado = txtdescifrado.Replace("┼", "");
            txtdescifrado = txtdescifrado.Replace("↔", "");
            root          = root + @"\\Upload\\Espiral\\descifradoEspiral.txt";
            using (StreamWriter outputFile = new StreamWriter(root))
            {
                foreach (char caracter in txtdescifrado)
                {
                    outputFile.Write(caracter.ToString());
                }
            }
        }
Esempio n. 2
0
        public void LecturaArchivo(string ruta, string nombre, int llave, string clave, int llenado) //LEE EL ARCHIVO
        {
            if ((llave != 0) && (llenado == 100))
            {
                ZigZagcompression zigzagg = new ZigZagcompression();
                using (var stream = new FileStream(ruta, FileMode.Open))
                {
                    using (var reader = new BinaryReader(stream))
                    {
                        var byteBuffer = new byte[bufferLength];
                        while (reader.BaseStream.Position != reader.BaseStream.Length)
                        {
                            byteBuffer = reader.ReadBytes(bufferLength);
                        }
                        string letters = System.Text.Encoding.ASCII.GetString(byteBuffer);
                        string cifrado = zigzagg.Decifrarzigzag(letters, llave); //mandar llave

                        string[] nuevo = ruta.Split('.');
                        nuevo[0] += ".txt";
                        if (!File.Exists(nuevo[0]))
                        {
                            using (var writeStream1 = new FileStream(nuevo[0], FileMode.OpenOrCreate))
                            {
                                using (var writer = new BinaryWriter(writeStream1))
                                {
                                    foreach (var item in cifrado)
                                    {
                                        writer.Write(item);
                                    }
                                    writer.Close();
                                }
                                writeStream1.Close();
                            }
                        }
                    }
                }
            }
            else if ((llave != 0) && (clave == "") && (llenado == 1000))
            {
                ZigZagcompression zigzagg = new ZigZagcompression();
                using (var stream = new FileStream(ruta, FileMode.Open))
                {
                    using (var reader = new BinaryReader(stream))
                    {
                        var byteBuffer = new byte[bufferLength];
                        while (reader.BaseStream.Position != reader.BaseStream.Length)
                        {
                            byteBuffer = reader.ReadBytes(bufferLength);
                        }
                        string letters = System.Text.Encoding.ASCII.GetString(byteBuffer);
                        string cifrado = zigzagg.ZigZag(letters, llave); //mandar llave

                        string[] nuevo = ruta.Split('.');
                        nuevo[0] += "zigzag.cif";
                        if (!File.Exists(nuevo[0]))
                        {
                            using (var writeStream1 = new FileStream(nuevo[0], FileMode.OpenOrCreate))
                            {
                                using (var writer = new BinaryWriter(writeStream1))
                                {
                                    foreach (var item in cifrado)
                                    {
                                        writer.Write(item);
                                    }
                                    writer.Close();
                                }
                                writeStream1.Close();
                            }
                        }
                    }
                }
            }
            //CIFRADO CESAR LLAVE=0
            else if ((clave != "") && (llave == 0))
            {
                CifrarCesar Cesar = new CifrarCesar();
                using (var stream = new FileStream(ruta, FileMode.Open))
                {
                    using (var reader = new BinaryReader(stream))
                    {
                        var byteBuffer = new byte[bufferLength];
                        while (reader.BaseStream.Position != reader.BaseStream.Length)
                        {
                            byteBuffer = reader.ReadBytes(bufferLength);
                        }
                        string   letters = System.Text.Encoding.ASCII.GetString(byteBuffer);
                        string   cifrado = Cesar.Cifrado(letters, clave); //mandar llave
                        string[] nuevo   = ruta.Split('.');
                        nuevo[0] += "cesar.cif";
                        //EN TEORIA ESCRIBE EN BYTES
                        if (!File.Exists(nuevo[0]))
                        {
                            using (var writeStream1 = new FileStream(nuevo[0], FileMode.OpenOrCreate))
                            {
                                using (var writer = new BinaryWriter(writeStream1))
                                {
                                    foreach (var item in cifrado)
                                    {
                                        writer.Write(item);
                                    }
                                    writer.Close();
                                }
                                writeStream1.Close();
                            }
                        }
                    }
                }
            }
            //DESCIFRADO CESAR LLAVE=1
            else if ((clave != "") && (llave == 1))
            {
                CifrarCesar Cesar = new CifrarCesar();
                using (var stream = new FileStream(ruta, FileMode.Open))
                {
                    using (var reader = new BinaryReader(stream))
                    {
                        var byteBuffer = new byte[bufferLength];
                        while (reader.BaseStream.Position != reader.BaseStream.Length)
                        {
                            byteBuffer = reader.ReadBytes(bufferLength);
                        }
                        string   letters = System.Text.Encoding.ASCII.GetString(byteBuffer);
                        string   cifrado = Cesar.Descifrado(letters, clave); //mandar llave
                        string[] nuevo   = ruta.Split('.');
                        nuevo[0] += "cesar.txt";
                        //EN TEORIA ESCRIBE EN BYTES
                        if (!File.Exists(nuevo[0]))
                        {
                            using (var writeStream1 = new FileStream(nuevo[0], FileMode.OpenOrCreate))
                            {
                                using (var writer = new BinaryWriter(writeStream1))
                                {
                                    foreach (var item in cifrado)
                                    {
                                        writer.Write(item);
                                    }
                                    writer.Close();
                                }
                                writeStream1.Close();
                            }
                        }
                    }
                }
            }
            else if (llenado != 0)
            {
                RutaEspiral Espiral = new RutaEspiral();
                using (var stream = new FileStream(ruta, FileMode.Open))
                {
                    using (var reader = new BinaryReader(stream))
                    {
                        var byteBuffer = new byte[bufferLength];
                        while (reader.BaseStream.Position != reader.BaseStream.Length)
                        {
                            byteBuffer = reader.ReadBytes(bufferLength);
                        }
                        string   letters = System.Text.Encoding.ASCII.GetString(byteBuffer);
                        string   cifrado = Espiral.cifrarEspiral(letters, llave, llenado); //mandar llave
                        string[] nuevo   = ruta.Split('.');
                        nuevo[0] += "espiral.cif";
                        if (!File.Exists(nuevo[0]))
                        {
                            using (var writeStream1 = new FileStream(nuevo[0], FileMode.OpenOrCreate))
                            {
                                using (var writer = new BinaryWriter(writeStream1))
                                {
                                    foreach (var item in cifrado)
                                    {
                                        writer.Write(item);
                                    }
                                    writer.Close();
                                }
                                writeStream1.Close();
                            }
                        }
                    }
                }
            }
        }