elhacker.net cabecera Bienvenido(a), Visitante. Por favor Ingresar o Registrarse
¿Perdiste tu email de activación?.

 

 


Tema destacado: Tutorial básico de Quickjs


+  Foro de elhacker.net
|-+  Programación
| |-+  Programación C/C++ (Moderadores: Eternal Idol, Littlehorse, K-YreX)
| | |-+  [aporte]c++ cifrar/descifrar archivos comando
0 Usuarios y 1 Visitante están viendo este tema.
Páginas: [1] Ir Abajo Respuesta Imprimir
Autor Tema: [aporte]c++ cifrar/descifrar archivos comando  (Leído 3,088 veces)
daryo


Desconectado Desconectado

Mensajes: 1.071



Ver Perfil WWW
[aporte]c++ cifrar/descifrar archivos comando
« en: 10 Junio 2013, 20:00 pm »

 :P
Código
  1.  
  2. #include <iostream>
  3.    #include <string>
  4.    #include <cstring>
  5.    #include <fstream>
  6.  
  7.    using namespace std;
  8.  
  9.  
  10.    void ayuda()
  11.    {
  12.    cout << "formato: cifrar.exe parametro \"archivo a cifrar\" \"archivo cifrado\"" << endl;
  13.    cout << "parametros:"<< endl << "-c cifrar" << endl << "-d descifrar" << endl;
  14.    }
  15.  
  16.  
  17.  
  18.    int main(int argc,char *argv[])
  19.       {
  20.       if(argc==4)
  21.           {
  22.               char *buf;
  23.               int tamano;
  24.               int n=1;
  25.  
  26.               char letra;
  27.               ifstream archivo(argv[2],ios::binary);
  28.               if(archivo.fail())
  29.                   {
  30.                   cout << "no fue posible abrir el archivo"<< endl;
  31.                   return 1;
  32.                   }
  33.               //-----------------------------
  34.               archivo.seekg(0,ios::end);
  35.               tamano=archivo.tellg();  //encuentro el tamano del archivo
  36.               archivo.seekg(0,ios::beg);
  37.               buf=new char[tamano];
  38.               //-----------------------------
  39.               archivo.read(buf,tamano);
  40.               archivo.close();
  41.               ofstream salida(argv[3],ios::binary);
  42.               for(int xd=0;xd<tamano;xd++)
  43.                   {
  44.                   if(strcmp(argv[1],"-c")==0)
  45.                       {
  46.                       letra=buf[xd]+n;
  47.                       }
  48.                   else if(strcmp(argv[1],"-d")==0)
  49.                       {
  50.                       letra=buf[xd]-n;
  51.                       }
  52.                   else
  53.                       {
  54.                       cout << "parametros erroneos"<<endl;
  55.                       return 1;
  56.                       }
  57.                   salida << letra;
  58.                   if(n>10)
  59.                       {
  60.                       n=1;
  61.                       }
  62.                       n++;
  63.                   }
  64.                   salida.close();
  65.                delete [] buf;
  66.               return 0;
  67.           }
  68.       else
  69.           {
  70.               ayuda();
  71.           }
  72.  
  73.  
  74.       return 0;
  75.       }
  76.  
  77.  


« Última modificación: 12 Junio 2013, 17:56 pm por daryo » En línea

buenas
0xDani


Desconectado Desconectado

Mensajes: 1.077



Ver Perfil
Re: [aporte]c++ cifrar/descifrar archivos comando
« Respuesta #1 en: 10 Junio 2013, 21:30 pm »

Con qué estándar y/o compilador te compila esto? :

Código
  1. char buf[tamano];

Sé que en C99 se puede, pero no creo recordar que se pudiera en C++.

En todo caso, un array estático es normalmente ubicado en la stack. Si tratas de cifrar un archivo de algunos MB, se te puede desbordar la stack y crashear el programa.

Saludos.


En línea

I keep searching for something that I never seem to find, but maybe I won't, because I left it all behind!

I code for $$$
Hago trabajos en C/C++
Contactar por PM
daryo


Desconectado Desconectado

Mensajes: 1.071



Ver Perfil WWW
Re: [aporte]c++ cifrar/descifrar archivos comando
« Respuesta #2 en: 10 Junio 2013, 22:08 pm »

Con qué estándar y/o compilador te compila esto? :

Código
  1. char buf[tamano];

Sé que en C99 se puede, pero no creo recordar que se pudiera en C++.

En todo caso, un array estático es normalmente ubicado en la stack. Si tratas de cifrar un archivo de algunos MB, se te puede desbordar la stack y crashear el programa.

Saludos.

tienes razon me lo compilo el gcc en codeblocks con windows .
lo hice rapido casi con afan :P luego lo corrijo
En línea

buenas
amchacon


Desconectado Desconectado

Mensajes: 1.211



Ver Perfil
Re: [aporte]c++ cifrar/descifrar archivos comando
« Respuesta #3 en: 10 Junio 2013, 22:46 pm »

Con qué estándar y/o compilador te compila esto? :

Código
  1. char buf[tamano];

Sé que en C99 se puede, pero no creo recordar que se pudiera en C++.

En todo caso, un array estático es normalmente ubicado en la stack. Si tratas de cifrar un archivo de algunos MB, se te puede desbordar la stack y crashear el programa.
C++ no lo tiene recogido en el estándar, pero tampoco lo prohíbe.

Con el Mingw (o g++) te lo compila sin problemas, sin warnings ni nada.
En línea

Por favor, no me manden MP con dudas. Usen el foro, gracias.

¡Visita mi programa estrella!

Rar File Missing: Esteganografía en un Rar
daryo


Desconectado Desconectado

Mensajes: 1.071



Ver Perfil WWW
Re: [aporte]c++ cifrar/descifrar archivos comando
« Respuesta #4 en: 12 Junio 2013, 17:57 pm »

ya correji el programa ahora uso memoria dinamica y es completamente estandar
« Última modificación: 12 Junio 2013, 17:59 pm por daryo » En línea

buenas
Páginas: [1] Ir Arriba Respuesta Imprimir 

Ir a:  

Mensajes similares
Asunto Iniciado por Respuestas Vistas Último mensaje
[C#] cifrar/descifrar en AES
.NET (C#, VB.NET, ASP)
Mace Windu 4 16,402 Último mensaje 20 Diciembre 2010, 04:56 am
por [D4N93R]
[c++] Cifrar y descifrar archivos
Programación C/C++
Beakman 2 15,809 Último mensaje 5 Diciembre 2016, 17:26 pm
por engel lex
cifrar/descifrar archivos
.NET (C#, VB.NET, ASP)
rob1104 3 5,557 Último mensaje 1 Julio 2012, 19:41 pm
por Keyen Night
Cómo cifrar los archivos que almacenamos en nuestra computadora
Noticias
Mister12 0 1,303 Último mensaje 22 Agosto 2013, 21:41 pm
por Mister12
Descifrar/cifrar archivos crypt5 de Whatsapp
Programación General
dseoane 3 10,714 Último mensaje 31 Marzo 2014, 11:32 am
por segam
WAP2 - Aviso Legal - Powered by SMF 1.1.21 | SMF © 2006-2008, Simple Machines