mm cuidado, java usa UNICODE(16 bits) em delphi un char é de -127 a 128 
(8bits). Acho que seu problemo é aki:

((byte)senha_des.charAt(i) 



[EMAIL PROTECTED] wrote:

>     Ola a todos da lista, estou com um problema de criptografia com chaves que 
> se modificam a cada caractere e gostaria de pedir a ajuda de voces, eu 
> desconfio que o problema possa ser com o \"int\", essa rotina eu fiz 
> primeiramente no Delphi e agora precisava passar para o Java sem ser alterada.
>     Obrigado pela ajuda
> 
> Obs.: Os k#\'s sao constantes, ate a metade ele decodifica corretamente, depois 
> se perde todo, a evolucao do resultado é a seguinte:
> 
> Delphi               Java
> Senha Chave1         Senha Chave1
> F     31149          F     31149
> FI    1120140091     FI    1120140091
> FIL   1874945386     FI   1865758314
> FILO  1208914660     FI,  -2070023708
> 
> O codigo Delphi é o seguinte:
> 
> function Decrypt(const InString:string): string;
> var
>   I : Byte;
> begin
>   chave1 := (k1 + (Length(InString.Text)+k2));
>   chave2 := (k3 + (Length(InString.Text)+k4));
>   chave3 := (k5 + (Length(InString.Text)+k6));
>   Result := \'\';
>   for I := 1 to Length(InString) do
>   begin
>     Result := Result + CHAR(Byte(InString[I]) xor (chave1 shr 8));
>     chave1 := (Byte(InString[I]) + chave1) * chave2 + chave3;
>   end;
> end;
> 
> 
> E o Java:
>   public String criptografia(String senha_des)
>   {
>     byte i;
>     int chave1 = (k1 + (senha_des.length()+k2));
>     int chave2 = (k3 + (senha_des.length()+k4));
>     int chave3 = (k5 + (senha_des.length()+k6));
>     String resultado = \"\";
>     for(i=0;i<senha_des.length();i++)
>     {
>     resultado = resultado + (char)((byte)senha_des.charAt(i) ^ (chave1 >> 8));
>     chave1 = ((byte)senha_des.charAt(i) + chave1) * chave2 + chave3;
>     };
>     return resultado;
>   };
> 
> ------------------------------ LISTA SOUJAVA ---------------------------- 
> http://www.soujava.org.br  -  Sociedade de Usuários Java da Sucesu-SP 
> dúvidas mais comuns: http://www.soujava.org.br/faq.htm
> regras da lista: http://www.soujava.org.br/regras.htm
> para sair da lista: envie email para [EMAIL PROTECTED] 
> -------------------------------------------------------------------------
> 
> 


------------------------------ LISTA SOUJAVA ---------------------------- 
http://www.soujava.org.br  -  Sociedade de Usuários Java da Sucesu-SP 
dúvidas mais comuns: http://www.soujava.org.br/faq.htm
regras da lista: http://www.soujava.org.br/regras.htm
para sair da lista: envie email para [EMAIL PROTECTED] 
-------------------------------------------------------------------------

Responder a