Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- //compilacion g++ -std=c++11 -o NombreEjecutable NombreFuente.cpp
- #include <iostream>
- #include <string>
- using namespace std;
- #define KEY 0xF1
- unsigned char cifrado( char letra){//cifrado y descifrado de un char ....
- unsigned char clave(KEY);//clave de codificacion
- letra^=clave; // utilizo el operador XOR binario para encriptar
- return letra;
- };
- //-------------------------------------------------------------------------------------------------------------------------
- void visualiza(char c){//solo para visualizar ....
- cout<< ".ASCII = "<<c << " , ASCII dec.= "<< (((int) c)& 0xFF)<<", valor cifrado (o des) "<<(int)cifrado( c)<<endl;
- }
- //-------------------------------------------------------------------------------------------------------------------------
- int main()
- {
- string cadena;
- cout << "Dame una frase ";
- cin>>cadena;
- cout << cadena<<endl;//string a cifrar y posteriormente descifrar
- //El bucle es repetitivo se puede repetir dos veces este proceso para
- //obtener el mismo resultado , lo he dejado en dos por cuestion de claridad ;)
- //cifrado
- for (size_t i = 0; i < cadena.size(); i++)
- {
- visualiza(cadena[i]);//Visualiza el proceso de encifrado
- cadena[i]=cifrado(cadena[i]);//cifra la cadena
- }
- cout <<endl<<"valor actual cifrado "<<cadena<<endl<<endl;
- //des_cifrado
- for (size_t i = 0; i < cadena.size(); i++)
- {
- visualiza(cadena[i]);//Visualiza el proceso de desencifrado
- cadena[i]=cifrado(cadena[i]);//cifra la cadena
- }
- cout <<endl<<"valor actual descifrado "<<cadena<<endl;
- return 0;
- };
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement