Ir al contenido



Foto

Funcion encriptar/desencriptar texto en android


  • Por favor identifícate para responder
5 respuestas en este tema

#1 look

look

    Advanced Member

  • Miembros
  • PipPipPip
  • 377 mensajes
  • LocationLa Ceiba-Atlantida-Honduras

Escrito 14 julio 2016 - 09:21

Hola amigos, encontre estas funciones de encrintacion, me gustaria pasarlas a android , me ayudan?


delphi
  1. const CKEY1 = 53761;
  2. CKEY2 = 32618;
  3.  
  4. function EncryptStr(const S :WideString; Key: Word): String;
  5. var i :Integer;
  6. RStr :RawByteString;
  7. RStrB :TBytes Absolute RStr;
  8. begin
  9. Result:= '';
  10. RStr:= UTF8Encode(S);
  11. for i := 0 to Length(RStr)-1 do begin
  12. RStrB[i] := RStrB[i] xor (Key shr 8);
  13. Key := (RStrB[i] + Key) * CKEY1 + CKEY2;
  14. end;
  15. for i := 0 to Length(RStr)-1 do begin
  16. Result:= Result + IntToHex(RStrB[i], 2);
  17. end;
  18. end;
  19.  
  20. function DecryptStr(const S: String; Key: Word): String;
  21. var i, tmpKey :Integer;
  22. RStr :RawByteString;
  23. RStrB :TBytes Absolute RStr;
  24. tmpStr :string;
  25. begin
  26. tmpStr:= UpperCase(S);
  27. SetLength(RStr, Length(tmpStr) div 2);
  28. i:= 1;
  29. try
  30. while (i < Length(tmpStr)) do begin
  31. RStrB[i div 2]:= StrToInt('$' + tmpStr[i] + tmpStr[i+1]);
  32. Inc(i, 2);
  33. end;
  34. except
  35. Result:= '';
  36. Exit;
  37. end;
  38. for i := 0 to Length(RStr)-1 do begin
  39. tmpKey:= RStrB[i];
  40. RStrB[i] := RStrB[i] xor (Key shr 8);
  41. Key := (tmpKey + Key) * CKEY1 + CKEY2;
  42. end;
  43. Result:= UTF8Decode(RStr);
  44. end;


  • 0

#2 egostar

egostar

    missing my father, I love my mother.

  • Administrador
  • 13.466 mensajes
  • LocationMéxico

Escrito 14 julio 2016 - 01:57

Hola

 

Voy a intentar hacerlo el fin de semana. Ya te comento.

 

Saludos


  • 1

#3 Agustin Ortu

Agustin Ortu

    Advanced Member

  • Moderadores
  • PipPipPip
  • 712 mensajes
  • LocationArgentina

Escrito 14 julio 2016 - 03:53

Y cual es el problema?

No cifra?

No compila? En que linea marca el error y cual es

Produce excepciones? Que excepcion y que la produce?

 

Hay que tener cuidado con portar codigo de strings de win a las plataformas moviles, porque los string estan implementados distinto. Tambien cuidado con el tema encodings

 

El codigo original para que version de Delphi esta desarrollado? En Delphi 2009 o superior con la llegada de unicode estos temas puede que haya que revisarlos. Osea que si es de una version inferior a Delphi 2009, es normal que no sea compatible en las mas nuevas

 

Si lo compilas para windows funciona bien?


  • 0

#4 look

look

    Advanced Member

  • Miembros
  • PipPipPip
  • 377 mensajes
  • LocationLa Ceiba-Atlantida-Honduras

Escrito 14 julio 2016 - 04:16

Hola

 

Voy a intentar hacerlo el fin de semana. Ya te comento.

 

Saludos

Gracias amigo!


  • 0

#5 look

look

    Advanced Member

  • Miembros
  • PipPipPip
  • 377 mensajes
  • LocationLa Ceiba-Atlantida-Honduras

Escrito 14 julio 2016 - 04:20

Y cual es el problema?

No cifra?

No compila? En que linea marca el error y cual es

Produce excepciones? Que excepcion y que la produce?

 

Hay que tener cuidado con portar codigo de strings de win a las plataformas moviles, porque los string estan implementados distinto. Tambien cuidado con el tema encodings

 

El codigo original para que version de Delphi esta desarrollado? En Delphi 2009 o superior con la llegada de unicode estos temas puede que haya que revisarlos. Osea que si es de una version inferior a Delphi 2009, es normal que no sea compatible en las mas nuevas

 

Si lo compilas para windows funciona bien?

 

pues si, en windows funciona bien, pero lo necesito en android, errores , pues como tu comentas, el manejo de string en android es diferente, "RawByteString y WideString" no son compatibles.

yo encontre estas funciones simples de encriptado, no encontre mejores, como en AES, pero si alguien sabe de algo equivalente .... lo que pretendo es encriptar y desencriptar texto....

 

Saludos!


  • 0

#6 Rolphy Reyes

Rolphy Reyes

    Advanced Member

  • Moderadores
  • PipPipPip
  • 2.077 mensajes
  • LocationRepública Dominicana

Escrito 26 julio 2016 - 09:29

Saludos.

 

Tal vez te pueda servir la unidad System.Hash


  • 0