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#
Mostrar 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.
Código de Ejemplo Copiado!
Comparte este Ejercicio C# Sharp
¡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#.
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...
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...
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...
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...
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...
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...