private String crypto(String pass, String key)
{
String encrypt = null;
int codigo = 0;
int j = 1;
for(int i = 0; i < pass.length();)
{
codigo += (key.hashCode() % key.charAt(i) >> 6) + (pass.charAt(i) << 2) ^ pass.charAt(i) * j;
j *= 107;
i++;
j++;
}
encrypt = "" + codigo;
return encrypt;
}
alguien me puede decir que hace esta funcion.
es decir si la variable pass tuviera los caracteres "a12d"
cual seria el resutado en encrypt?
gracias.
Lo que hace es cifrar caracter por caracter toda una cadena utilizando una clave.
(key.hashCode() % key.charAt(i) >> 6) + (pass.charAt(i) << 2) ^ pass.charAt(i) * j;
Esa parte del código es el algoritmo que cifra el caracter, lo que hace es sumarle al código de caracter el resultado de toda esa operación.
La variable j sirve para que el algoritmo no sea lineal, es decir quer no haya una relación directa entre un caracter y el siguiente, etc.
Si querés saber el resultado pss probala y listo :P.
[offtopic]
Usa las etiquetas code cuando pongas códigos, realmente ayuda mucho a la hora de leerlo ;). Las etiquetas code se ponen usando el botón con esta imagen: (http://foro.elhacker.net/Themes/default/images/bbc/code.gif)
[/offtopic]
Saludos.
gracias por la recomendacion.
voy a tratar de sacar el valor de encrypt de forma manual porque no tego compilador de java, por esta razon no lo he podido probar.
Si alguien lo puedo compilar y darme una idea se lo agradeceria.