爱玺玺

爱玺玺的生活日记本。wx:lb87626

java执行js文件并获取其执行结果

import java.io.FileReader;


import javax.script.ScriptContext;

import javax.script.ScriptEngine;

import javax.script.ScriptEngineManager;


import org.apache.commons.codec.digest.DigestUtils;


public class Test {


/**

* @param args

*/

public static void main(String[] args) {

String jsName = "test.js"; 

//读取js

FileReader fileReader;

try {

fileReader = new FileReader("D:/website/soyangsend/suc.js");

//执行指定脚本  

ScriptEngineManager m = new ScriptEngineManager();

//获取JavaScript执行引擎

ScriptEngine engine = m.getEngineByName("JavaScript");

engine.eval(fileReader); 

ScriptContext context = engine.getContext();

String itis=(String) context.getAttribute("itis");

System.out.println("获取js变量:"+itis);

String md5Hex = DigestUtils

.md5Hex(itis);

System.out.println("获取到的变量md5加密"+md5Hex);

} catch (Exception e) {

e.printStackTrace();

}

}


}



js文件:

function serialize(keys) {

return keys.sort(function(clusterShardData, certFileContent) {

return clusterShardData.split("=")[0] < certFileContent.split("=")[0] ? -1 : 1;

}).join("&");

}

function md5(value) {

return function(text) {

var t;

var aStatedRank;

var normalized_images;

var L;

var p;

var r;

var c;

var s = "";

var i = 0;

text = function(val) {

val = val.replace(/x0dx0a/g, "\n");

var paginationStr = "\u00ef\u00bb\u00bf";

var index = 0;

for (; index < val.length; index++) {

var i = val.charCodeAt(index);

if (i < 128) {

paginationStr = paginationStr + String.fromCharCode(i);

} else {

if (127 < i && i < 2048) {

paginationStr = paginationStr + String.fromCharCode(i >> 6 | 192);

} else {

paginationStr = paginationStr + String.fromCharCode(i >> 12 | 224);

paginationStr = paginationStr + String.fromCharCode(i >> 6 & 63 | 128);

}

paginationStr = paginationStr + String.fromCharCode(63 & i | 128);

}

}

return paginationStr;

}(text);

for (; i < text.length;) {

L = (t = text.charCodeAt(i++)) >> 2;

p = (3 & t) << 4 | (aStatedRank = text.charCodeAt(i++)) >> 4;

r = (15 & aStatedRank) << 2 | (normalized_images = text.charCodeAt(i++)) >> 6;

c = 63 & normalized_images;

if (isNaN(aStatedRank)) {

r = c = 64;

} else {

if (isNaN(normalized_images)) {

c = 64;

}

}

s = s + format.charAt(L) + format.charAt(p) + format.charAt(r) + format.charAt(c);

}

return s;

}(value);


function toString(value) {

return function(text) {

var t;

var aStatedRank;

var normalized_images;

var L;

var p;

var r;

var c;

var s = "";

var i = 0;

text = function(val) {

val = val.replace(/x0dx0a/g, "\n");

var paginationStr = "\u00ef\u00bb\u00bf";

var index = 0;

for (; index < val.length; index++) {

var i = val.charCodeAt(index);

if (i < 128) {

paginationStr = paginationStr + String.fromCharCode(i);

} else {

if (127 < i && i < 2048) {

paginationStr = paginationStr + String.fromCharCode(i >> 6 | 192);

} else {

paginationStr = paginationStr + String.fromCharCode(i >> 12 | 224);

paginationStr = paginationStr + String.fromCharCode(i >> 6 & 63 | 128);

}

paginationStr = paginationStr + String.fromCharCode(63 & i | 128);

}

}

return paginationStr;

}(text);

for (; i < text.length;) {

L = (t = text.charCodeAt(i++)) >> 2;

p = (3 & t) << 4 | (aStatedRank = text.charCodeAt(i++)) >> 4;

r = (15 & aStatedRank) << 2 | (normalized_images = text.charCodeAt(i++)) >> 6;

c = 63 & normalized_images;

if (isNaN(aStatedRank)) {

r = c = 64;

} else {

if (isNaN(normalized_images)) {

c = 64;

}

}

s = s + format.charAt(L) + format.charAt(p) + format.charAt(r) + format.charAt(c);

}

return s;

}(value);

}



var format = "ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/=";

function walk(y) {

return function(obj) {

if (Array.isArray(obj)) {

var i = 0;

var result = new Array(obj.length);

for (; i < obj.length; i++) {

result[i] = obj[i];

}

return result;

}

}(y) || function(arr) {

if (Symbol.iterator in Object(arr) || "[object Arguments]" === Object.prototype.toString.call(arr)) {

return Array.from(arr);

}

}(y) || function() {

throw new TypeError("Invalid attempt to spread non-iterable instance");

}();

}


key="beginTime=2019-10-28&endTime=2019-11-03&page=1&size=10&is_ad=0&source_type=0&saas_token=8d98e56f41fbf1504f30dea8a11e3e75&saas_timestamp=1572743406".split("&");

value=serialize(key);

itis=toString(value).slice(4);


发表评论:

Powered By Z-BlogPHP 1.4 Deeplue Build 150101

Copyright Your WebSite.Some Rights Reserved.

蜀ICP备11021721号-5