java的javascript函数
我正在尝试将js函数转换为javajava的javascript函数,javascript,java,Javascript,Java,我正在尝试将js函数转换为java 功能键(代码,串行){ code=parseInt(/([0-9-]{12})/.exec(code)[0]。替换(/-/g',)) 返回((代码+0x26946948)^parseInt(serial.replace(/-/g',),16))>>0 } keygen('7043-1667-03f9-f6','C6AD-0E40')参考: 在Java中: Java的长类型可以让您获得复制JavaScript位操作所需的所有精度,但您需要确保在使用>>>时将其
功能键(代码,串行){
code=parseInt(/([0-9-]{12})/.exec(code)[0]。替换(/-/g',))
返回((代码+0x26946948)^parseInt(serial.replace(/-/g',),16))>>0
}
keygen('7043-1667-03f9-f6','C6AD-0E40')
参考:
在Java中:
Java的长类型可以让您获得复制JavaScript位操作所需的所有精度,但您需要确保在使用>>>时将其屏蔽为32个带符号位,其中移位量可能为0(或32的倍数)
所以,我改变了
return (c^dec)>>>0;
到
它就像一个符咒
感谢@PM77-1提供的有用评论和@ScaryWombat修复错误您需要使用Long.parseLong代码数和
序列号
公共类HelloWorld{
公共静态void main(字符串[]args){
//结果:214930807
系统输出打印项次(“结果:+keygen”(“7043-1667-03f9-f6”、“C6AD-0E40”);
}
专用静态int-keygen(字符串代码,字符串串行){
return(int)(Long.parseLong(code.substring(0,12).replaceAll(“[a-zA-Z-]”)和0x26946948)^Long.parseLong(serial.replaceAll(“[-]”),16));
}
}
2147483647
-Java中最大的int
值,您尝试解析7043166703
@PM77-1好的,我如何修复它?使其变长?@ScaryWombatint c
到长c
?遇到同样的问题,但您是否仍在执行Integer.parseInt
非常感谢您,如果可能,请向我发送一个简短视频或步骤mohamedjawedi93@gmail.com展示了当您使用cheatengine时,如何了解许可证的工作原理,我真的很感兴趣,我花了20多个小时没有弄清楚,感谢您的帮助OK,我有时间就去做!
return ((c& 0xffffffffL)^dec)>>>0;