JS的方法
function sorting(_key, _timestamp, _nonce){
//代码省略,用这三个参数排序加密,返回一个字符串值
return 结果值;
}
在Java里定义这三个参数传到上面的js方法里然后在java中获取返回值
//获取JS引擎
scriptEngine se = new scriptEngineManager().getEngineByName("javascript");
//定义要传的三个参数
String _key="314F1EB6B6B73F4B375D6C4B7B7BBBB3";
String _timestamp = "1628827982173";
String _nonce = "04944c262bfa4dbcc7eb19f45239a398";
try {
//JS文件所在地址
se.eval(new FileReader("C:\Users\Huo\Desktop\demo.js"));
//判断是否可调用
if(se instanceof Invocable){
Invocable in = (Invocable) se;
//调用JS方法,sorting为JS文件中的方法名,后面三个为方法需要的三个参数
String result = (String) in.invokeFunction("sorting",_key, _timestamp, _nonce);
}
} catch (scriptException e) {
e.printStackTrace();
} catch (FileNotFoundException e) {
e.printStackTrace();
} catch (NoSuchMethodException e) {
e.printStackTrace();
}
result就是将这三个参数调用JS文件中的方法加密后的结果值


