Ver Mensaje Individual
  #2 (permalink)  
Antiguo 16/10/2016, 02:10
aguml
 
Fecha de Ingreso: febrero-2015
Mensajes: 404
Antigüedad: 9 años, 2 meses
Puntos: 3
Respuesta: Invertir operadores binarios

Es que tengo esta función la cual desencripta una cadena y quiero invertirla para poder encriptar cadenas y no veo el modo. Este es el código:

Código C++:
Ver original
  1. void __fastcall TForm1::Button2Click(TObject *Sender)
  2. {
  3.     DWORD valor;
  4.     DWORD tamCadena;
  5.     DWORD contador;
  6.     DWORD aux;
  7.     AnsiString buffer;
  8.  
  9.     contador = 0;
  10.     tamCadena = Edit1->Text.Length();
  11.     buffer = Edit1->Text.c_str();
  12.  
  13.     do {
  14.         valor = buffer[contador+1];
  15.         if (valor >= 0x40) {
  16.             valor -=0x41;
  17.             asm{cdq};
  18.             valor = valor % 0xA;
  19.             valor += 0x30;
  20.             buffer[contador+1]=(char)valor;
  21.         } else {
  22.             aux = contador;
  23.             aux &= 0x80000003;
  24.             if(aux < 0){
  25.                 aux--;
  26.                 aux |= 0xfffffffc;
  27.                 aux++;
  28.             }
  29.             valor -= aux;
  30.             buffer[contador+1]=(char)valor;
  31.         }
  32.         ++contador;
  33.         --tamCadena;
  34.     } while (tamCadena);
  35.  
  36.     Edit2->Text=buffer;
  37. }