function decrypt(str, pwd)
{
if(pwd == null || pwd.length <= 0)
{
alert("请输入密钥");
return;
}
var prand = "";for(var i=0; i<pwd.length; i++)
{
prand += pwd.charCodeAt(i).toString();
}var sPos = Math.floor(prand.length / 5);
var mult = parseInt(prand.charAt(sPos) + prand.charAt(sPos*2) + prand.charAt(sPos*3) + prand.charAt(sPos*4) + prand.charAt(sPos*5));
var incr = Math.round(pwd.length / 2);
var modu = Math.pow(2, 31) - 1;
var salt = parseInt(str.substring(str.length - 8, str.length), 16);
str = str.substring(0, str.length - 8);
prand += salt;while(prand.length > 10)
{
prand = (parseInt(prand.substring(0, 10)) + parseInt(prand.substring(10, prand.length))).toString();
}prand = (mult * prand + incr) % modu;
var enc_chr = "";
var enc_str = ""; for(var i=0; i<str.length; i+=4)
{
enc_chr = parseInt(parseInt(str.substring(i, i+4), 16) ^ Math.floor((prand / modu) * 255));
//alert(enc_chr);
enc_str += String.fromCharCode(enc_chr);
//alert(enc_str);
prand = (mult * prand + incr) % modu;
}return enc_str;
}
这是个解密函数,我需要在JAVA中实现这段代码。但遇到了麻烦请大家指点下。
大家可以加我qq 624368901;多谢
{
if(pwd == null || pwd.length <= 0)
{
alert("请输入密钥");
return;
}
var prand = "";for(var i=0; i<pwd.length; i++)
{
prand += pwd.charCodeAt(i).toString();
}var sPos = Math.floor(prand.length / 5);
var mult = parseInt(prand.charAt(sPos) + prand.charAt(sPos*2) + prand.charAt(sPos*3) + prand.charAt(sPos*4) + prand.charAt(sPos*5));
var incr = Math.round(pwd.length / 2);
var modu = Math.pow(2, 31) - 1;
var salt = parseInt(str.substring(str.length - 8, str.length), 16);
str = str.substring(0, str.length - 8);
prand += salt;while(prand.length > 10)
{
prand = (parseInt(prand.substring(0, 10)) + parseInt(prand.substring(10, prand.length))).toString();
}prand = (mult * prand + incr) % modu;
var enc_chr = "";
var enc_str = ""; for(var i=0; i<str.length; i+=4)
{
enc_chr = parseInt(parseInt(str.substring(i, i+4), 16) ^ Math.floor((prand / modu) * 255));
//alert(enc_chr);
enc_str += String.fromCharCode(enc_chr);
//alert(enc_str);
prand = (mult * prand + incr) % modu;
}return enc_str;
}
这是个解密函数,我需要在JAVA中实现这段代码。但遇到了麻烦请大家指点下。
大家可以加我qq 624368901;多谢
解决方案 »
免费领取超大流量手机卡,每月29元包185G流量+100分钟通话, 中国电信官方发货