public class Encripter {
private String patronBusqueda;
private String patronEncripta;
public Encripter() {
patronBusqueda = "GlxnHMbcIfñK4LeUNFO1ms2PtDvSVkWXqirYTaghjZyo";
patronEncripta = "eahdmifsWJBrWZD5CLpvMXQuVjkXqY6AoKyNzUgÑOPRt";
}
public String Encriptar(String cadena)
{
String resultado="";
for(int pos = 0; pos< cadena.length(); pos++){
if(pos==0){
resultado= encriptarCaracter(cadena.substring(pos,pos+1),cadena.length(),pos);
}
else{
resultado+= encriptarCaracter(cadena.substring(pos,pos+1),cadena.length(),pos);
}
}
return resultado;
}
//----------------------
public String encriptarCaracter(String caracter, int variable, int indice){
int ind;
if(patronBusqueda.indexOf(caracter)!=-1){
ind = (patronBusqueda.indexOf(caracter) + variable + indice) % patronBusqueda.length();
return patronEncripta.substring(ind, ind+1);
}
return caracter;
}
//----------------------
public String desencriptaCadena(String cadena){
String original="";
for(int pos = 0; pos< cadena.length(); pos++){
if(pos==0){
original=desencriptaCaracter(cadena.substring(pos,pos+1),cadena.length(),pos);
}
else{
original+=desencriptaCaracter(cadena.substring(pos,pos+1),cadena.length(),pos);
}
}
return original;
}
//----------------------
public String desencriptaCaracter(String caracter, int variable, int indice){
int ind=0;
if(patronEncripta.indexOf(caracter) != -1){
if((patronEncripta.indexOf(caracter) - variable - indice) > 0){
ind = (patronEncripta.indexOf(caracter) - variable - indice) % patronEncripta.length();
}
else{
ind = (patronBusqueda.length()) + ((patronEncripta.indexOf(caracter)- variable - indice) % patronEncripta.length());
}
ind = ind % patronEncripta.length();
return patronBusqueda.substring(ind, ind + 1);
}
else
{
return caracter;
}
}
//----------------------
}