Ver Mensaje Individual
  #18  
Antiguo 18-12-2012
pacpac00 pacpac00 is offline
Registrado
NULL
 
Registrado: jul 2011
Posts: 2
Reputación: 0
pacpac00 Va por buen camino
hola seoane:

intento usar el archivo aes.pas y base64.pas, y las funciones de cifrar un string, si me funciona cuando ingreso el string de la forma 'texto' a las funciones, pero cuando lo hago por medio de edits ó memos ya no me funciona.
Estoy eliminando lo que un TMemo por ejemplo agrega, los valores #$D, #$A, #$0A0D etc. Lo elimino y aun asi, no me decodifica correctamente.

tomando en cuenta que las funciones de codificar y decodificar son las mismas de este post.

para codificar, donde en datos le escribo 'hola' y en llave escribo 'llave' :
Código Delphi [-]
var
  datos,llave : String;
begin
  datos := memDatos.Text;
  datos := StringReplace(datos,#$D,'',[rfReplaceAll,rfIgnoreCase]);
  datos := StringReplace(datos,#$A,'',[rfReplaceAll,rfIgnoreCase]);
  //datos := StringReplace(datos,#$0A0D,'',[rfReplaceAll,rfIgnoreCase]);
  llave := memLlave.Text;
  llave := StringReplace(llave,#$D,'',[rfReplaceAll,rfIgnoreCase]);
  llave := StringReplace(llave,#$A,'',[rfReplaceAll,rfIgnoreCase]);
  //llave := StringReplace(llave,#$0A0D,'',[rfReplaceAll,rfIgnoreCase]);
  memEncrypt.Clear;
  memEncrypt.Text := _Encrypt(datos,llave);
end;

y para decodificar, donde datos es igual al resultado de la codificacion y llave sigue siendo 'llave':
Código Delphi [-]
var
  datos,llave : String;
begin
  datos := memEncrypt.Text;
  datos := StringReplace(datos,#$D,'',[rfReplaceAll,rfIgnoreCase]);
  datos := StringReplace(datos,#$A,'',[rfReplaceAll,rfIgnoreCase]);
  //datos := StringReplace(datos,#$0A0D,'',[rfReplaceAll,rfIgnoreCase]);
  llave := memLlave.Text;
  llave := StringReplace(llave,#$D,'',[rfReplaceAll,rfIgnoreCase]);
  llave := StringReplace(llave,#$A,'',[rfReplaceAll,rfIgnoreCase]);
  //llave := StringReplace(llave,#$0A0D,'',[rfReplaceAll,rfIgnoreCase]);
  memDecrypt.Text := _Decrypt(datos,llave);
end;

resultado:
Encriptacion : 䅂䅁䩁乘扙癐ぅ㙰湱䩎䅥㥶乙㵳
Desencriptacion : ,F1v

no entiendo porque sale mal, espero tu respuesta y gracias.
Responder Con Cita