Criptografia - Alguém poderia me ajudar!?

3 respostas
V

Olá!

Tenho que entregar um exercício em Java amanhã valendo 50% da média final, mas não tô conseguindo fazer. Será que alguém poderia me dar uma luz? risos… Um exemplo de como usar, uma dica, ou como eu devo fazer? É que faz umas duas semanas que eu tô tentando fazer mas não consigo sair do zero. Lá vai o exercício:

[i]Você irá construir um programa de criptografia baseado na substituição de caracteres. Neste processo a chave de criptografia irá substituir uma letra pela letra cifrada, a letra cifrada será escolhida como a letra na ordem inversa, ou seja, o ‘A’ é substituido por ‘Z’, ‘B’ por ‘Y’, ‘C’ por ‘X’ e assim por diante, respeitando-se maiúsculas e minúsculas, ou seja, as maiúsculas são substituídas por maiúsculas e minúsculas por minúsculas. O programa deverá solicitar um texto e irá imprimir o texto cifrado. Por exemplo, se o texto fornecido for: ?Um aplicativo Java?, o texto a ser impresso será (desconsidere letras acentuadas):
Em zjnqxzfqdk Pzdz

O que aconteceria se a entrada fornecida fosse um texto já cifrado?

(dica, construa dois vetores com todos os caracteres em ordem inversa, um para caracteres maiúsculos e
outro para caracteres minúsculos. Para saber qual caracter será utilizado faça a diferença com o ‘a’, ou
seja a posição do caracter cifrado para a letra ‘d’ será a posição (‘d’ ? ‘a’), esta conta resulta no número 3,
no vetor, a posição 0: z, 1: y, 2: x, 3: w,…, logo, ‘d’ será substituído por ‘w’, que está na posição 3. Esta
conta leva em consideração caracteres maiúsculos e minúsculos, ou seja de o resultado da (letra ? ‘a’) for
um número fora do intervalo 0 a 25, já que são 26 caracteres, então você provavelmente está tentando
uma letra maiúscula, se a diferença (letra ? ‘A’) ainda estiver fora do intervalo, então o caracter é uma
sinalização ou espaço em branco.)[/i]

Pra mim, programação é muito complicado, pois não trabalho nesta area, trabalho com suporte de servidores, ai já viu, nê!?

Qualquer ajuda será bem vinda!

Desde já agradeço pela colaboração!

Vanessa :o)

3 Respostas

N

O pior é que na dica do exercício tá dizendo tudo… mas vamu ve… você pode começar assim:

public class Criptografia { String getCriptografia(String texto) { char newTexto[texto.length] = texto.toCharArray(); for (int i = 0; i < texto.lenght(); i++) newTexto[i] = inverso(newTexto[i]); return new String(newTexto); } }

E daí implementa o método inverso() do jeito que a dica tá sugerindo…

V

Ok! Valeu pela dica! Como eu disse, eu não sei absolutamente nada de Java, por isto que estou pedindo ajuda!

M

ai nesse método inverso() tu poderia fazer algumas manipulações nos bits dos chars q esta passando…

Criado 29 de outubro de 2004
Ultima resposta 29 de out. de 2004
Respostas 3
Participantes 3