Este proyecto es una práctica entregable del módulo de programación del CFGS en Administración de Sistemas Informáticos en Red con perfil profesional en Ciberseguridad (ASIX/Cyber). El objetivo de este proyecto es crear una herramienta en C++ que permita cifrar y descifrar mensajes, así como calcular un checksum para verificar la integridad de los datos.
- Cifrado y Descifrado: Utiliza una clave para cifrar y descifrar mensajes utilizando la operación XOR.
- Checksum: Calcula un checksum de los mensajes para verificar la integridad de los datos.
- Gestión de Mensajes: Permite almacenar y recuperar mensajes cifrados desde un archivo de texto.
Para compilar el programa, utiliza el siguiente comando en la terminal:
g++ -o encriptador encriptador.cpp
Para ejecutar el programa, utiliza el siguiente comando en la terminal:
./encriptador
Al ejecutar el programa, se presentarán las siguientes opciones:
- Ver Mensajes Existentes: El programa preguntará si deseas ver los mensajes ya existentes en el archivo. Si seleccionas 'y' o 'Y', se mostrarán los mensajes descifrados y se verificará la integridad del archivo utilizando el checksum.
- Agregar Nuevos Mensajes: Puedes ingresar nuevos mensajes que serán cifrados y almacenados en el archivo.
- Salir del Programa: Para salir del programa, ingresa la palabra
exit
en minúsculas.
- cifrarDescifrar: Función que cifra o descifra un mensaje utilizando una clave.
- calcularChecksum: Función que calcula el checksum de una cadena de texto.
- main: Función principal que gestiona la interacción con el usuario y la lectura/escritura de archivos.
Si deseas contribuir a este proyecto, por favor sigue estos pasos:
- Haz un fork del repositorio.
- Crea una rama (
git checkout -b feature/nueva-funcionalidad
). - Realiza los cambios necesarios y haz commit (
git commit -am 'Añadir nueva funcionalidad'
). - Sube los cambios a tu rama (
git push origin feature/nueva-funcionalidad
). - Crea un nuevo Pull Request.
Si tienes alguna pregunta o sugerencia, no dudes en contactarme a través de mi perfil de GitHub.
Este proyecto está licenciado bajo la Licencia MIT. Para más detalles, revisa el archivo LICENSE.