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]
-------------------------------------------------------------------------