Ver Mensaje Individual
  #1 (permalink)  
Antiguo 06/02/2015, 19:32
shikamarucb
 
Fecha de Ingreso: febrero-2014
Mensajes: 107
Antigüedad: 10 años, 2 meses
Puntos: 0
Pregunta Cifrado de informacion en C++

Hola a todos me he inventado un pequeño programa para cifrar los datos de los archivos, en c++, quisiera que lo criticaran; y me dijeran que tan inseguro o seguro es, y cuanto se demoraria alguien(hacker, profesional,experto,etc..)en descifrarlo; el programa es muy sencillo solo cambia,el valor byte por byte del archivo y lo pone en uno nuevo.(En mi caso lo he probado con imagenes, pdf entre otros).

Este es el codigo de cifrado:
Código C++:
Ver original
  1. #include <iostream>
  2.  
  3. using namespace std;
  4.  
  5. FILE *archivo,*nuevo;
  6.  
  7. int main()
  8. {
  9.     char car;
  10.     archivo=fopen("C:/Users/usuario/Desktop/imagen.jpg","rb");
  11.     nuevo=fopen("C:/Users/usuario/Desktop/prueban1.jpg","wb");
  12.     if(nuevo==NULL){
  13.         cout<<"Error al abrir el archivo nuevo\n";
  14.     }
  15.  
  16.     if(archivo==NULL){
  17.         cout<<"Error al abrir el archivo\n";
  18.     }
  19.     while(fread(&car,1,1,archivo)!=0){
  20.         car+=20;
  21.         fwrite(&car,1,1,nuevo);
  22.     }
  23.     fclose(nuevo);
  24.     fclose(archivo);
  25.    
  26.     return 0;
  27. }

y este seria el codigo de descifrado:

Código C++:
Ver original
  1. #include <iostream>
  2.  
  3. using namespace std;
  4.  
  5. FILE *archivo,*nuevo;
  6.  
  7. int main()
  8. {
  9.     char car;
  10.     archivo=fopen("C:/Users/usuario/Desktop/prueban2.jpg","wb");
  11.     nuevo=fopen("C:/Users/usuario/Desktop/prueban1.jpg","rb");
  12.  
  13.     if(nuevo==NULL){
  14.         cout<<"Error al abrir el archivo nuevo\n";
  15.     }
  16.  
  17.     if(archivo==NULL){
  18.         cout<<"Error al abrir el archivo\n";
  19.     }
  20.  
  21.     while(fread(&car,1,1,nuevo)!=0){
  22.         car-=20;
  23.         fwrite(&car,1,1,archivo);
  24.     }
  25.     fclose(nuevo);
  26.     fclose(archivo);
  27.    
  28.     return 0;
  29. }