Hola, aqui les pongo una traduccion que hice de un codigo VB a java...
El codigo sirve para cifrar cadenas usando XOR ...
ando muy acostumbrado a programar en VB; asi que para no perder el control y confusion ideo mis codigos con funciones
tipicas del VB: mid, rigth, reverse.... a las cuales simulo... (es por comodidad)
aqui les dejo los dos metodos principales (cifra y descifra); los otros metodos son lo que les decia (semejantes al VB)
import java.net.*;
import java.io.*;
public class XorCoder
{
int i;
//String clave = new String("%ü&/@#$A");
char codigo[],car[];
for(i=1;i<= Pass.length();i++){
CAR = Mid(Pass,i, 1);
car= CAR.toCharArray();
Codigo = Mid(clave, ((i - 1) % clave.length()) + 1, 1);
codigo= Codigo.toCharArray();
Pass2
= Pass2
+ Right
("0" + Integer.
toHexString((int)codigo
[0] ^ (int)car
[0]),
2);
}
return Pass2;
}
int i,j=1;
//String clave = new String("%ü&/@#$A");
char codigo[],car[],hex[];
for(i=1;i<= Pass.length();i=i+2){
CAR =Mid(Pass, i, 2);
car= CAR.toCharArray();
Codigo = Mid(clave, ((j - 1) % clave.length()) + 1, 1);
codigo= Codigo.toCharArray();
Pass2
= Pass2
+ (char)((int)codigo
[0] ^ Integer.
parseInt(CAR,
16)); j++;
}
return Pass2;
}
cad = cad.substring(a-1,a + b -1);
return cad;
}
cad = reverse(cad);
cad = cad.substring(0,a);
cad = reverse(cad);
return cad;
}
int i, len = source.length();
for (i = (len - 1); i >= 0; i--) {
dest.append(source.charAt(i));
}
return dest.toString();
}
}
lo pueden usar asi:
XorCoder.cifra("jackl007","%ü&/@#$A");
XorCoder.descifra("4f9d45442c131476","%ü&/@#$A"); // el segundo parametro es una clave de encriptacion; por lo cual
siempre podriamos cifrar de una manera distinta; eso me gusta
PD: el autor del algoritmo no recuerdo ahora, pero fue escrito originalmente en VB