Advertisement
AntonioVillanueva

Cifrador sencillo

Mar 16th, 2016
203
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
C++ 1.66 KB | None | 0 0
  1. //compilacion g++ -std=c++11 -o NombreEjecutable NombreFuente.cpp
  2.  
  3. #include <iostream>
  4. #include <string>
  5.  
  6. using namespace std;
  7.  
  8. #define KEY 0xF1
  9.  
  10. unsigned char cifrado( char letra){//cifrado y descifrado de un char ....
  11.     unsigned char clave(KEY);//clave de codificacion
  12.     letra^=clave; // utilizo el operador XOR binario para encriptar
  13.     return letra;
  14. };
  15. //-------------------------------------------------------------------------------------------------------------------------
  16. void visualiza(char c){//solo para visualizar ....
  17.         cout<< ".ASCII = "<<c << " , ASCII dec.= "<< (((int) c)& 0xFF)<<", valor cifrado (o des) "<<(int)cifrado( c)<<endl;
  18. }
  19. //-------------------------------------------------------------------------------------------------------------------------
  20. int main()
  21. {
  22.     string cadena;
  23.  
  24.     cout << "Dame una frase ";
  25.     cin>>cadena;
  26.     cout << cadena<<endl;//string a cifrar y posteriormente descifrar
  27.    
  28.    
  29. //El bucle es repetitivo se puede repetir dos veces este proceso para
  30. //obtener el mismo resultado , lo he dejado en dos por cuestion de claridad ;)
  31.  
  32. //cifrado
  33.  
  34.     for (size_t i = 0; i < cadena.size(); i++)
  35.     {
  36.         visualiza(cadena[i]);//Visualiza el proceso de encifrado
  37.         cadena[i]=cifrado(cadena[i]);//cifra la cadena
  38.     }
  39.    
  40.     cout <<endl<<"valor actual cifrado "<<cadena<<endl<<endl;
  41.    
  42. //des_cifrado
  43.  
  44.     for (size_t i = 0; i < cadena.size(); i++)
  45.     {
  46.         visualiza(cadena[i]);//Visualiza el proceso de desencifrado
  47.         cadena[i]=cifrado(cadena[i]);//cifra la cadena
  48.     }  
  49.  
  50.     cout <<endl<<"valor actual descifrado "<<cadena<<endl;
  51.  
  52. return 0;
  53.    
  54. };
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement