Gracias sytry, al final pille la funcion de encriptacion, pero no se como reversarla, he intentado pero no hay caso.
Este es el.codigo, si se ejecuta en cualquier compilador online dara una clave a partir de la palabra q se ponga.
Necesito reversar ese codigo a la palabra inicial. Como podria hacerlo
Gracias!!
public class Seguridad {
public static void main(String[] args){
//Instancias la clase.
Seguridad s = new Seguridad();
//ejecutas el metodo de la clase.
String clave = s.encrypta("palabra");
System.out.print(clave);
}
public static String encrypta(String value) {
byte key[] = {1,3,5,7,11,13,17,19,20,23,29,31,41,43};
byte[] source;
byte[] target;
if ( value.length() == 0 )
return "";
target = new byte[value.length()*2];
source = value.getBytes();
for ( int i = 0; i < source.length; i++ ) {
int val = (source * key [i%14])<<1;
String t = String.valueOf(val);
if ( t.length() == 1 )
t = "0" + t;
byte tb[];
tb = t.getBytes();
target[i*2] = tb[0];
target[i*2+1] = tb[1];
}
// System.out.println("ENC = ["+new String(target)+"]");
return new String(target);
}
}
Este es el.codigo, si se ejecuta en cualquier compilador online dara una clave a partir de la palabra q se ponga.
Necesito reversar ese codigo a la palabra inicial. Como podria hacerlo
Gracias!!
public class Seguridad {
public static void main(String[] args){
//Instancias la clase.
Seguridad s = new Seguridad();
//ejecutas el metodo de la clase.
String clave = s.encrypta("palabra");
System.out.print(clave);
}
public static String encrypta(String value) {
byte key[] = {1,3,5,7,11,13,17,19,20,23,29,31,41,43};
byte[] source;
byte[] target;
if ( value.length() == 0 )
return "";
target = new byte[value.length()*2];
source = value.getBytes();
for ( int i = 0; i < source.length; i++ ) {
int val = (source * key [i%14])<<1;
String t = String.valueOf(val);
if ( t.length() == 1 )
t = "0" + t;
byte tb[];
tb = t.getBytes();
target[i*2] = tb[0];
target[i*2+1] = tb[1];
}
// System.out.println("ENC = ["+new String(target)+"]");
return new String(target);
}
}