public class CifraDeCesar {
public static final int ALPHASIZE = 26;
public static final char[] alpha = {'A', 'B', 'C', 'D', 'E', 'F', 'G', 'H',
'I', 'J', 'K', 'L', 'M', 'N', 'O', 'P', 'Q', 'R', 'S', 'T', 'U', 'V',
'W', 'X', 'Y', 'Z'};
protected char[] encrypt = new char[ALPHASIZE];
protected char[] decrypt = new char[ALPHASIZE];
public CifraDeCesar(){
for (int i=0; i<ALPHASIZE; i++)
encrypt[i]= alpha[(i+3) % ALPHASIZE];
for (int i=0; i<ALPHASIZE; i++)
decrypt [encrypt[i] - 'A'] = alpha[i];
}
/* Metodo de Criptografia */
public String encrypt(String secret){
char[] mess = secret.toCharArray();
for (int i=0; i<mess.length; i++)
if (Character.isUpperCase(mess[i]))
mess[i]= encrypt[mess[i] - 'A'];
return new String(mess);
}
/* Metodo de Decriptografia */
public String decrypt(String secret){
char[] mess = secret.toCharArray();
for (int i=0; i<mess.length; i++)
if (Character.isUpperCase(mess[i]))
mess[i]= decrypt[mess[i] - 'A'];
return new String(mess);
}
}
Percorrendo array de char e criptografia
V
Pessoal, acho que minha pergunta é simples mas não achei resposta. Testando uma classe que criptografa msg através da Cifra de César, não cosigo entender o que faz a parte do código "- 'A'" (linha 23) no código abaixo. Alguém pode me esclarecer?
1 Resposta
‘A’ é um char, que tem uma representação numérica, no caso ele está transformando o caracter em outro usando o ‘A’ como deslocamento.
Criado 19 de outubro de 2012
Ultima resposta 20 de out. de 2012
Respostas 1
Participantes 2
Alura Git Flow: entenda o que é, como e quando utilizar Entenda o que é Git Flow, como funciona seu fluxo com branches como Master, Develop, Feature, Release e Hotfix, além de vantagens e desvantagens.
Casa do Codigo Ontologias e Web Semantica: Do conceito a aplicacao Por Ivam Galvao Filho — Casa do Codigo