Metodo de Criptografia

Estou testando um exemplo de criptografia simples,
mas não estou enxergando o erro.
Se alguém puder me ajudar, a classe é esta:

[code]
package criptografia;

public class Cezar{
/* String alfabeto[] = {“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”};*/
String alfabeto = “abcdefghijklmnopqrstuvwxyz”;
String textoCriptografado;

Cezar(){
   criptografa("abc",3);
   System.out.println(textoCriptografado);
}

public void criptografa(String cript, int chave){
// char[] textoPuro = cript.toCharArray();
int aux;

    for(int i=0; i< cript.length()+1;i++){
        
        for(int j=0; j<26;j++){
            
            if(alfabeto.charAt(j)==cript.charAt(i)){
            aux=j+chave;
            
            if(aux>26){aux=aux-27;}
            
            textoCriptografado = alfabeto.substring(aux);
            }
           
        }
    }

}

public String decripta(String cript){
return “”;
}

public static void main (String args[]){
Cezar teste = new Cezar();

}

}[/code]

Olá lordtiago.
Pelo que pude observar, o algoritmo utiliza a Cifra de César para criptografar a mensagem.
Observei também que o método de decriptação não efetua operação alguma.
Mas não entendi sua dúvida. O que está ocorrendo? Está ocorrendo alguma exception? Você não entendeu alguma parte do código?

Olá! Primeiramente obrigado pela atenção.
Tinha ocorrido uma Exception, mas era marcação minha.

for(int i=0; i< cript.length()+1;i++){   

Este código estourava a procura na lista, pois na ultima iteração chamava uma posição a mais, que não existe.
Um erro bobo de falta de atenção minha.
Agora funciona normalmente, o novo código ficou assim:

[code]package criptografia;

public class Cezar{
String alfabeto = “abcdefghijklmnopqrstuvwxyz”;
String textoCriptografado="";
String textoDecriptografado="";

public String getTextoCriptografado() {
    return textoCriptografado;
}

public void setTextoCriptografado(String textoCriptografado) {
    this.textoCriptografado = textoCriptografado;
}

public String getTextoDecriptografado() {
    return textoDecriptografado;
}

public void setTextoDecriptografado(String textoDecriptografado) {
    this.textoDecriptografado = textoDecriptografado;
}

public Cezar(){

}

public void criptografa(String cript, int chave){
int aux;

    for(int i=0; i< cript.length();i++){
        
        for(int j=0; j<26;j++){
            
            if(alfabeto.charAt(j)==cript.charAt(i)){
            aux=j+chave;
            
            while(aux>25){
                aux=aux-26;
            }
            
            textoCriptografado += alfabeto.substring(aux, aux+1);
            }
           
        }
    }

}

public void decripta(String cript, int chave){
int aux;

    for(int i=0; i< cript.length();i++){
        
        for(int j=0; j<26;j++){
            
            if(alfabeto.charAt(j)==cript.charAt(i)){
            aux=j-chave;
            
            while(aux<0){aux=aux+26;}
            
            textoDecriptografado += alfabeto.substring(aux, aux+1);
            }
           
        }
    }

}
[/code]

Valeu pela atenção