Fórum Criptografia em JAVA #514794
25/03/2015
0
Gente,gostaria de entender essa logica de estrutura de dados, eu preciso criar um arquivo .java com esse tipo de criptografia, queria algumas dicas e ajudas pois não sei nem começar
O construtor da classe String recebe o arrayST, e retorna uma string com todos os caracteres
passados, na mesma ordem. Se o array for -> ST=[T,A,D,S], o retorno desta string será TADS. Da
mesma forma, uma String S=”Univel” pode ser convertida para um array da seguinte forma:
S.toCharArray();
Para a lógica de cifragem, a seguinte fórmula é usada:
Cifra c = arrLetras[(i + 3)mod 26];
O módulo 26 retorna o resto da divisão inteira de i + 3. Em Java, o operador módulo é ”%”.
Essa lógica existe para “girar” o alfabeto, ou seja fazer com que apenas as letras do alfabeto
sejam usadas.
O segredo está na chave de criptografia, ou seja na regra usada para a troca neste caso e regra
é i + 3, onde “A” + 3 vira “D”, e “B” + 3 vira “E”
Alfabeto= {‘A’, ‘B’, ‘C’, ‘D’, ‘E’, ‘F’};
1-Gerar chave de criptografia:
Para i <- 0 até i < alfabeto.Tam faça
arrLetras[i] = alfabeto[(i + 3)% 26]
fimpara
Lógica criptografia
Char[] cifrada = frase.toCharArray();
Para - <- 0 até i < alfabeto.tam faça
Cifrada[i] = arrLetras[cifrada[i] - A];
Fimpara,
Trata para trocar apenas letras.
IF(Character.isUperCase(fraseCrypto[i])){
Decifrar:
Para - <- 0 até i < alfabeto.tam faça
Decifrada[i] = Decifrada[cifrada[i] - A];
Fimpara,
O construtor da classe String recebe o arrayST, e retorna uma string com todos os caracteres
passados, na mesma ordem. Se o array for -> ST=[T,A,D,S], o retorno desta string será TADS. Da
mesma forma, uma String S=”Univel” pode ser convertida para um array da seguinte forma:
S.toCharArray();
Para a lógica de cifragem, a seguinte fórmula é usada:
Cifra c = arrLetras[(i + 3)mod 26];
O módulo 26 retorna o resto da divisão inteira de i + 3. Em Java, o operador módulo é ”%”.
Essa lógica existe para “girar” o alfabeto, ou seja fazer com que apenas as letras do alfabeto
sejam usadas.
O segredo está na chave de criptografia, ou seja na regra usada para a troca neste caso e regra
é i + 3, onde “A” + 3 vira “D”, e “B” + 3 vira “E”
Alfabeto= {‘A’, ‘B’, ‘C’, ‘D’, ‘E’, ‘F’};
1-Gerar chave de criptografia:
Para i <- 0 até i < alfabeto.Tam faça
arrLetras[i] = alfabeto[(i + 3)% 26]
fimpara
Lógica criptografia
Char[] cifrada = frase.toCharArray();
Para - <- 0 até i < alfabeto.tam faça
Cifrada[i] = arrLetras[cifrada[i] - A];
Fimpara,
Trata para trocar apenas letras.
IF(Character.isUperCase(fraseCrypto[i])){
Decifrar:
Para - <- 0 até i < alfabeto.tam faça
Decifrada[i] = Decifrada[cifrada[i] - A];
Fimpara,
Rodrigo
Curtir tópico
+ 0
Responder
Clique aqui para fazer login e interagir na Comunidade :)