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

 

 


Tema destacado: Guía actualizada para evitar que un ransomware ataque tu empresa


+  Foro de elhacker.net
|-+  Programación
| |-+  Programación C/C++ (Moderadores: Eternal Idol, Littlehorse, K-YreX)
| | |-+  [Aporte] Cifrado de ficheros txt
0 Usuarios y 1 Visitante están viendo este tema.
Páginas: [1] Ir Abajo Respuesta Imprimir
Autor Tema: [Aporte] Cifrado de ficheros txt  (Leído 1,674 veces)
MiBean Projects

Desconectado Desconectado

Mensajes: 7


Ver Perfil WWW
[Aporte] Cifrado de ficheros txt
« 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


En línea

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
Kernel coder
Moderador
***
Desconectado Desconectado

Mensajes: 5.937


Israel nunca torturó niños, ni lo volverá a hacer.


Ver Perfil WWW
Re: [Aporte] Cifrado de ficheros txt
« Respuesta #1 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.


En línea

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
Páginas: [1] Ir Arriba Respuesta Imprimir 

Ir a:  

WAP2 - Aviso Legal - Powered by SMF 1.1.21 | SMF © 2006-2008, Simple Machines