Cifrador De Archivos - Ejercicio De Programacion C# Sharp

Este ejercicio en C# consiste en crear un programa que encripte un archivo de texto en otro archivo de texto. El programa debe ser capaz de leer el contenido de un archivo de texto, aplicarle un algoritmo de encriptación y guardar el contenido en un nuevo archivo, asegurando que el archivo resultante esté protegido y no pueda ser leído sin desencriptarse previamente. Este ejercicio es ideal para aprender sobre la manipulación de archivos de texto en C#, así como sobre los conceptos básicos de encriptación.

El programa debe ser capaz de leer un archivo de texto, convertir su contenido en un formato encriptado y guardar ese contenido en un nuevo archivo. Puedes usar un algoritmo sencillo de encriptación como el de cifrado por sustitución o alguna técnica más avanzada, según lo desees. La clave aquí es asegurarte de que el archivo resultante no sea fácilmente legible sin el proceso de desencriptación. Este ejercicio es perfecto para aprender a trabajar con archivos y cadenas de texto en C#, así como para implementar técnicas de encriptación y seguridad.

Es importante recordar que el archivo .cs debe incluir un comentario con tu nombre, lo que garantizará que el código es de tu autoría. Además, este ejercicio también te ayudará a familiarizarte con la lectura y escritura de archivos en C#, y con el uso de algoritmos de encriptación simples para proteger la información.

 Categoría

Administración de Archivos

 Ejercicio

Cifrador De Archivos

 Objectivo

Cree un programa para cifrar un archivo de texto en otro archivo de texto. Debe incluir la clase de cifrado que ha creado anteriormente (el 17 de enero)

 Ejemplo Ejercicio C#

 Copiar Código C#
// Import the System namespace for basic functionality
using System;  

// Import the IO namespace for file handling
using System.IO;  

// Encrypt class to handle the encryption logic
class Encrypter
{
    // Method to encrypt the content of the input file and save to the output file
    public static void EncryptFile(string inputFilePath, string outputFilePath, string key)
    {
        // Read the content of the input file
        string content = File.ReadAllText(inputFilePath);  

        // Encrypt the content using the key
        string encryptedContent = EncryptContent(content, key);  

        // Write the encrypted content to the output file
        File.WriteAllText(outputFilePath, encryptedContent);  
    }

    // Method to encrypt the content of the file using a simple Caesar cipher
    private static string EncryptContent(string content, string key)
    {
        // Convert the key to a number (for simplicity, just use the length of the key)
        int keyLength = key.Length;  

        // Create a character array to store the encrypted content
        char[] encryptedChars = new char[content.Length];  

        // Loop through each character in the content
        for (int i = 0; i < content.Length; i++)  
        {
            // Get the current character
            char currentChar = content[i];  

            // Encrypt the character using the Caesar cipher (shift by keyLength)
            char encryptedChar = (char)(currentChar + keyLength);  

            // Store the encrypted character
            encryptedChars[i] = encryptedChar;  
        }

        // Convert the encrypted character array back to a string
        return new string(encryptedChars);  
    }
}

class FileEncrypter
{
    static void Main(string[] args)
    {
        // Ask the user for the input file path
        Console.WriteLine("Enter the path of the file to encrypt:");  

        // Get the input file path from the user
        string inputFilePath = Console.ReadLine();  

        // Ask the user for the output file path
        Console.WriteLine("Enter the output file path to save the encrypted file:");  

        // Get the output file path from the user
        string outputFilePath = Console.ReadLine();  

        // Ask the user for the encryption key (simple string-based key)
        Console.WriteLine("Enter the encryption key (any string):");  

        // Get the key from the user
        string key = Console.ReadLine();  

        // Start of try block to handle any file or encryption errors
        try
        {
            // Use the Encrypter class to encrypt the input file and save to the output file
            Encrypter.EncryptFile(inputFilePath, outputFilePath, key);  

            // Inform the user that the encryption process is complete
            Console.WriteLine("File has been successfully encrypted and saved as: " + outputFilePath);  
        }
        catch (Exception ex)  // Catch any exceptions that may occur during the process
        {
            // Print the exception message if an error occurs
            Console.WriteLine("An error occurred: " + ex.Message);  
        }
    }
}

 Salida

Example Input (input.txt):
Hello
World

Example Output (input.txt.encrypted):
Khoor
Zruog

Console Output:
Enter the path of the file to encrypt: input.txt
Enter the output file path to save the encrypted file: input.txt.encrypted
Enter the encryption key (any string): abc
File has been successfully encrypted and saved as: input.txt.encrypted

If an error occurs (e.g., the file doesn't exist or the encryption fails), an error message will be displayed, such as: 
An error occurred: The system cannot find the file specified.

 Comparte este Ejercicio C# Sharp

 Más Ejercicios de Programacion C# Sharp de Administración de Archivos

¡Explora nuestro conjunto de ejercicios de programación C# Sharp! Estos ejercicios, diseñados específicamente para principiantes, te ayudarán a desarrollar una sólida comprensión de los conceptos básicos de C#. Desde variables y tipos de datos hasta estructuras de control y funciones simples, cada ejercicio está diseñado para desafiarte de manera gradual a medida que adquieres confianza en la codificación en C#.

  •  Contar palabras

    Este ejercicio en C# consiste en crear un programa que cuente la cantidad de palabras almacenadas en un archivo de texto. El programa debe leer el contenido de un arc...

  •  Ancho y alto BMP, BinaryReader

    Este ejercicio en C# consiste en crear un programa que muestre el ancho y la altura de un archivo BMP utilizando un BinaryReader. El programa debe leer el enca...

  •  Conversor de TXT a HTML

    Este ejercicio en C# consiste en crear un "convertidor de texto a HTML". El programa debe leer un archivo de texto de entrada y crear un archivo HTML a partir de su c...

  •  Invertir archivo binario V2

    Este ejercicio en C# consiste en crear un programa que "invierta" un archivo utilizando un FileStream. El programa debe crear un archivo con el mismo nombre qu...

  •  Ancho y alto BMP, FileStream

    Este ejercicio en C# consiste en crear un programa que lea un archivo BMP utilizando un FileStream y muestre su ancho y alto. El formato BMP tien...

  •  Copiador de archivos

    Este ejercicio en C# consiste en crear un programa que copie un archivo de origen a un archivo de destino utilizando un FileStream y un tamaño de bloque de 512...