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)
Código
import java.net.*; import java.io.*; public class XorCoder { String Codigo, CAR; 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(); } return Pass2; } String Codigo, CAR; 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(); 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