Foro de elhacker.net

Programación => Programación C/C++ => Mensaje iniciado por: MiBean Projects en 26 Junio 2014, 17:48 pm



Título: [Aporte] Cifrado de ficheros txt
Publicado por: MiBean Projects en 26 Junio 2014, 17:48 pm
Hola a todos! ayer estuve consultando algunas cosas y hoy regreso con un pequeño aporte de un noob en esto del desarrollo de software.

He realizado un pequeño algoritmo de cifrado (es muy simple) sólo como prueba.
Se divide en dos programas, el primero cifra los ficheros y el segundo los descifra.

El cifrado es por sustitución, es decir cambia caracter por caracter en el archivo de texto.

Cambia el caracter desde el valor en codigo ascii, de la siguiente manera.
Uno hacia adelante.
Queda igual.
Uno hacia atrás.
Repite...


Esta es la segunda vez que trabajo con archivos de texto por lo que no sé mucho sobre archivos binarios, así que mejor trabajé de la siguiente manera.

cifrado
Código
  1. #include <iostream>
  2. #include <fstream>
  3. using namespace std;
  4.  
  5. int main(int argc, char *argv[]) {
  6. char cadena[128];
  7. if (argc == 4) {
  8. cout << " Sustitucion en proceso... " << endl;
  9. ifstream fe(argv[1]);
  10. ofstream fs(argv[3]);
  11.  
  12. while(!fe.eof()) {
  13. fe >> cadena;
  14. for (int i = 0; cadena[i] != '\0'; i++) {
  15. cadena[i]++;
  16. i+=2;
  17. cadena[i]--;
  18. }
  19. fs << cadena << " ";
  20. }
  21. fe.close();
  22. fs.close();
  23.  
  24. cout << " Trabajo de cifrado terminado correctamente " << endl;
  25. } else {
  26. cout << " Error en parametros. Usa la siguiente estructura " << endl;
  27. cout << " cifra Texto.txt en TextoEncriptado.txt " << endl;
  28. }
  29.    return 0;
  30. }
  31.  

descifrado
Código
  1. #include <iostream>
  2. #include <fstream>
  3. using namespace std;
  4.  
  5. int main(int argc, char *argv[]) {
  6. char cadena[128];
  7. if (argc == 4) {
  8. cout << " Sustitucion en proceso... " << endl;
  9. ifstream fe(argv[1]);
  10. ofstream fs(argv[3]);
  11.  
  12. while(!fe.eof()) {
  13. fe >> cadena;
  14. for (int i = 0; cadena[i] != '\0'; i++) {
  15. cadena[i]--;
  16. i+=2;
  17. cadena[i]++;
  18. }
  19. fs << cadena << " ";
  20. }
  21. fe.close();
  22. fs.close();
  23.  
  24. cout << " Trabajo de descifrado terminado correctamente " << endl;
  25. } else {
  26. cout << " Error en parametros. Usa la siguiente estructura " << endl;
  27. cout << " descifra TextoEncriptado.txt en Texto.txt" << endl;
  28. }
  29.    return 0;
  30. }
  31.  
  32.  

¿Que les parece? ¿Que cambios le harían ustedes? Gracias :D


Título: Re: [Aporte] Cifrado de ficheros txt
Publicado por: Eternal Idol en 26 Junio 2014, 19:07 pm
¿Que les parece? ¿Que cambios le harían ustedes? Gracias :D

Un aporte. Podrias hacerlo todo en un solo programa pero ya pediste consejo sobre como seguir en otro hilo.