private static string Decrypt(string path, string password)
        {
            try
            {
                var values = FileManager.ReadHeader(path).Split(';');  // Cargamos los datos que requerimos
                if (values.Length < 3)
                {
                    return("El archivo parece estar dañado. ¿Ha modificado el archivo?"); // Verificamos los datos
                }
                sdes = new SDES(password, values[0], values[1], values[2]);               //Genera un objeto sdes con las permutaciones del archivo y genera la clave única (esta clave solo es la misma que la generada al cifrar si la contraseña es la misma)
                var data = new List <string>();                                           // Lista que guardará cada fragmento descifrado.

                // Comienza el descifrado
                foreach (var item in FileManager.ReadEncryptedFile(path))
                {
                    data.Add(sdes.Decrypt(item));
                }

                //Escribimos el archivo original
                FileManager.WriteFile(path.Remove(path.Length - TYPE.Length, TYPE.Length), data);
                //Retornamos el estado
                return("Archivo descifrado y guardado como: " + path.Remove(path.Length - TYPE.Length, TYPE.Length) + "\nSe descifró con la contraseña: " + password);
            }
            catch (Exception ex)
            {
                return("Archivo no descifrado debido al siguiente error: " + ex.Message);
            }
        }
        private static string Encrypt(string path, string password)
        {
            try
            {
                sdes = new SDES(password);      // Genera un objeto sdes con una clave única y permutaciones nuevas
                var data = new List <string>(); //Lista que guardará cada fragmento cifrado

                // Comienza el cifrado
                foreach (var item in FileManager.ReadUnencryptedFile(path))
                {
                    data.Add(sdes.Encrypt(item));
                }

                //Escribe los datos al archivo .cif
                FileManager.WriteHeader(path + TYPE, string.Join(",", sdes.PKey10) + ";" + string.Join(",", sdes.PKey8) + ";" + string.Join(",", sdes.PKey4));
                FileManager.WriteFile(path + TYPE, data);
                //Retorna el estado.
                return("Archivo cifrado y guardado como: " + path + TYPE + "\nSe cifró con la contraseña: " + password);
            }
            catch (Exception ex)
            {
                return("Archivo no cifrado debido al siguiente error: " + ex.Message);
            }
        }