Jump to content


Photo

Funcion encriptar/desencriptar texto en android


  • Please log in to reply
5 replies to this topic

#1 look

look

    Advanced Member

  • Miembros
  • PipPipPip
  • 418 posts
  • LocationLa Ceiba-Atlantida-Honduras

Posted 14 July 2016 - 09:21 AM

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
  • 14448 posts
  • LocationMéxico

Posted 14 July 2016 - 01:57 PM

Hola

 

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

 

Saludos


  • 1

#3 Agustin Ortu

Agustin Ortu

    Advanced Member

  • Moderadores
  • PipPipPip
  • 831 posts
  • LocationArgentina

Posted 14 July 2016 - 03:53 PM

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
  • 418 posts
  • LocationLa Ceiba-Atlantida-Honduras

Posted 14 July 2016 - 04:16 PM

Hola

 

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

 

Saludos

Gracias amigo!


  • 0

#5 look

look

    Advanced Member

  • Miembros
  • PipPipPip
  • 418 posts
  • LocationLa Ceiba-Atlantida-Honduras

Posted 14 July 2016 - 04:20 PM

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
  • 2092 posts
  • LocationRepública Dominicana

Posted 26 July 2016 - 09:29 AM

Saludos.

 

Tal vez te pueda servir la unidad System.Hash


  • 0




IP.Board spam blocked by CleanTalk.