[Aporte] Cifrado de ficheros txt

Iniciado por MiBean Projects, 26 Junio 2014, 17:48 PM

0 Miembros y 1 Visitante están viendo este tema.

MiBean Projects

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 (cpp) [Seleccionar]

#include <iostream>
#include <fstream>
using namespace std;

int main(int argc, char *argv[]) {
char cadena[128];
if (argc == 4) {
cout << " Sustitucion en proceso... " << endl;
ifstream fe(argv[1]);
ofstream fs(argv[3]);

while(!fe.eof()) {
fe >> cadena;
for (int i = 0; cadena[i] != '\0'; i++) {
cadena[i]++;
i+=2;
cadena[i]--;
}
fs << cadena << " ";
}
fe.close();
fs.close();

cout << " Trabajo de cifrado terminado correctamente " << endl;
} else {
cout << " Error en parametros. Usa la siguiente estructura " << endl;
cout << " cifra Texto.txt en TextoEncriptado.txt " << endl;
}
    return 0;
}


descifrado
Código (cpp) [Seleccionar]

#include <iostream>
#include <fstream>
using namespace std;

int main(int argc, char *argv[]) {
char cadena[128];
if (argc == 4) {
cout << " Sustitucion en proceso... " << endl;
ifstream fe(argv[1]);
ofstream fs(argv[3]);

while(!fe.eof()) {
fe >> cadena;
for (int i = 0; cadena[i] != '\0'; i++) {
cadena[i]--;
i+=2;
cadena[i]++;
}
fs << cadena << " ";
}
fe.close();
fs.close();

cout << " Trabajo de descifrado terminado correctamente " << endl;
} else {
cout << " Error en parametros. Usa la siguiente estructura " << endl;
cout << " descifra TextoEncriptado.txt en Texto.txt" << endl;
}
    return 0;
}



¿Que les parece? ¿Que cambios le harían ustedes? Gracias :D
Lo más complicado en el desarrollo de software es usar la lógica correctamente, esto también es lo que lo hace interesante.

www.mibean.tk

Eternal Idol

Cita de: John Vagabundo en 26 Junio 2014, 17:48 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.
La economía nunca ha sido libre: o la controla el Estado en beneficio del Pueblo o lo hacen los grandes consorcios en perjuicio de éste.
Juan Domingo Perón