JTextArea retorna valor falso!

5 respostas
shuremaster

Bom dia pessoal, tudo bem ? Espero que sim.

Bom vamos direto ao assunto, estou desenvolvendo um aplicativo que vai criptografar e decriptar mensagem (números) porém quando peço para ser exibido o resultado, o programa me retorna um valor falso.

Vou postar o código e o arquivo explicativo, agradeço desde já toda ajuda fornecida.

private void jButton1MouseClicked(java.awt.event.MouseEvent evt) {                                      

        //Variável que recebe o valor digitado pelo usuário
        String e = entrada.getText();

        //Declaração das variáveis inteiras
        int eB = 0,
                p = 17,
                q = 11,
                n = 0,
                z = 0,
                d = 7,
                E = 23,
                textoCriptografado;



        //Inicio dos cálculos
        n = p * q;
        z = (p - 1) * (q - 1);

        //Conversão dos dados de entrada
        eB = Integer.parseInt(e);

        E = (E*d)%z;

        textoCriptografado = (int) ((eB + Math.sqrt(E)) % z);
        eB = (textoCriptografado);

        e = Integer.toString(textoCriptografado);
        saida.append(e);
    }

5 Respostas

shuremaster

Sera que ninguem vai me ajudar ? Vamos colaborar ai pessoal rs

Cadê o thingol num momento desse rs !

Galera eu não preciso que vocês façam, e sim que mostrem algo pois eu posso não estar enxergando alguma coisa. Obrigado

E

Você não leu direito o documento que nos passou. Se tivesse lido, teria percebido um problema:

Esse número é muito grande para caber em um int ( 70.368.744.177.664 ) , e para todos os efeitos práticos também não adianta usar um long para lidar com o algoritmo RSA. Use a classe java.math.BigInteger.

shuremaster

Só alterando o tipo do dado para double não resolve ?

Estou evitando usar classes, só estou usando Math para cacular a potência.

E

shuremaster:
Só alterando o tipo do dado para double não resolve ?

Não resolve. É por isso que o java.math.BigInteger foi adicionado à linguagem Java: para resolver esses problemas de criptografia. Se olhar a documentação dessa classe, (que faz parte da API do Java aliás), vai ver que existem muitos métodos específicos para lidar com RSA.
http://download.oracle.com/javase/6/docs/api/java/math/BigInteger.html

shuremaster

Entendi, de qualquer forma muito obrigado pela ajuda. Vou ler mais um pouco à respeito dessa classe.

:slight_smile:

Criado 21 de novembro de 2010
Ultima resposta 21 de nov. de 2010
Respostas 5
Participantes 2