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]);
llave := memLlave.Text;
llave := StringReplace(llave,#$D,'',[rfReplaceAll,rfIgnoreCase]);
llave := StringReplace(llave,#$A,'',[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]);
llave := memLlave.Text;
llave := StringReplace(llave,#$D,'',[rfReplaceAll,rfIgnoreCase]);
llave := StringReplace(llave,#$A,'',[rfReplaceAll,rfIgnoreCase]);
memDecrypt.Text := _Decrypt(datos,llave);
end;
resultado:
Encriptacion : 䅂䅁䩁乘扙癐ぅ㙰湱䩎䅥㥶乙㵳
Desencriptacion : ,F1v
no entiendo porque sale mal, espero tu respuesta y gracias.