estou fazendo um trabalho pra faculdade, que é um programa que encripta informações, escolhi o tipo de criptografia Cifra de Cesar, a classe ja esta funcionando mais acredito que tem como melhorar ela e deixala mais clara com relação o que ela faz
public class CifraDeCesar {
//atributos
private int chave;
private StringBuilder textoCifrado;
private StringBuilder textoDecifrado;
private int tamanhoTexto;
public String encriptar(int chave, String texto) {
textoCifrado = new StringBuilder();
for (int c = 0; c < getTamanhoTexto(texto); c++) {//pecorre todo o texto
int letraCifradaASCII = (((int)texto.charAt(c)) + chave);//converte o texto para o seu valor na table ASCII e soma com o valor da chave
textoCifrado.append((char) letraCifradaASCII);//converte o valor da posição da letra corresponde a tabela ASCII + chave em texto novamente
}
return textoCifrado.toString();
}
public String decriptar(int chave, String texto) {
chave *= -1;//muda o sinal da chave
textoDecifrado = new StringBuilder(encriptar(chave, texto));//texto decifrado é ingual a texto criptado + chave com seu sinal invertido
return textoDecifrado.toString();
}
public int getTamanhoTexto(String texto) {
tamanhoTexto = texto.length();
return tamanhoTexto;//retorna o tamanho do texto
}
}