Java - metodos y encriptacion

 
Vista:

metodos y encriptacion

Publicado por Shoke (1 intervención) el 04/12/2005 22:12:42
public class semilla{

public static void main(String args[]){

String plane="Hola";
String pass="abcdef";

System.Out.Println(encode(plane,pass););

}


public static String encode(String str, String pwd) {

int prand,sPos,mult,incr,modu,salt;
String enc_str,enc_chr;

if(pwd == null || pwd.length() <= 0) {
sSystem.Out.println("Please enter a password with which to encrypt the message.");
return null;
}
var prand = "";
for(var i=0; i<pwd.length(); i++) {
prand += pwd.charCodeAt(i).toString();
}
sPos = Math.floor(prand.length() / 5);
mult = parseInt(prand.charAt(sPos) + prand.charAt(sPos*2) + prand.charAt(sPos*3) + prand.charAt(sPos*4) + prand.charAt(sPos*5));
incr = Math.ceil(pwd.length() / 2);
modu = Math.pow(2, 31) - 1;
if(mult < 2) {
System.Out.println("Algorithm cannot find a suitable hash. Please choose a different password. \nPossible considerations are to choose a more complex or longer password.");
return null;
}
salt = Math.round(Math.random() * 1000000000) % 100000000;
prand += salt;
while(prand.length() > 10) {
prand = (parseInt(prand.substring(0, 10)) + parseInt(prand.substring(10, prand.length()))).toString();
}
prand = (mult * prand + incr) % modu;
enc_chr = "";
enc_str = "";
for(var i=0; i<str.length(); i++) {
enc_chr = parseInt(str.charCodeAt(i) ^ Math.floor((prand / modu) * 255));
if(enc_chr < 16) {
enc_str += "0" + enc_chr.toString(16);
} else enc_str += enc_chr.toString(16);
prand = (mult * prand + incr) % modu;
}
salt = salt.toString(16);
while(salt.length() < 8)salt = "0" + salt;
enc_str += salt;
return enc_str;
}

}

Bien en la funcion principal declaro las cadenas "Hola" y "abcdef" y las quiero enviar a la funcion encode para que me imprima como resultado un string de tipo hash

pero no utilize bien algunos emtodos en la funcion encode, haber si alguien me hecha una mano a corregirlo
Valora esta pregunta
Me gusta: Está pregunta es útil y esta claraNo me gusta: Está pregunta no esta clara o no es útil
0
Responder