Java引用javascript中的function时btoa函数报错
Java code:
String jsFileName = "D:\\parseSc.js";
log.debug(jsFileName);
ScriptEngineManager manager = new ScriptEngineManager();
ScriptEngine engine = manager.getEngineByName("javascript");
FileReader reader = new FileReader(jsFileName);
engine.eval(reader);
if(engine instanceof Invocable) {
Invocable invoke = (Invocable)engine;
// 调用weorjjigh方法,并传入参数
Object result = invoke.invokeFunction("weorjjigh", video_page_url);
try {
invoke.invokeFunction("noweorjjigh");
} catch (NoSuchMethodException e) {
// expected
}
}
reader.close();
js code:
var u = {};
u.cache = btoa(c - v + "");
a(n, t);
var d = function(e) {
var a = [], n = 0;
for (; n < 64; ) {
a[n] = 0 | Math.abs(Math.sin(++n)) * 4294967296
}
报错:Exception in thread "main" javax.script.ScriptException: sun.org.mozilla.javascript.internal.EcmaError: ReferenceError: "btoa" is not defined. (<Unknown source>#38) in <Unknown source> at line number 38
String jsFileName = "D:\\parseSc.js";
log.debug(jsFileName);
ScriptEngineManager manager = new ScriptEngineManager();
ScriptEngine engine = manager.getEngineByName("javascript");
FileReader reader = new FileReader(jsFileName);
engine.eval(reader);
if(engine instanceof Invocable) {
Invocable invoke = (Invocable)engine;
// 调用weorjjigh方法,并传入参数
Object result = invoke.invokeFunction("weorjjigh", video_page_url);
try {
invoke.invokeFunction("noweorjjigh");
} catch (NoSuchMethodException e) {
// expected
}
}
reader.close();
js code:
var u = {};
u.cache = btoa(c - v + "");
a(n, t);
var d = function(e) {
var a = [], n = 0;
for (; n < 64; ) {
a[n] = 0 | Math.abs(Math.sin(++n)) * 4294967296
}
报错:Exception in thread "main" javax.script.ScriptException: sun.org.mozilla.javascript.internal.EcmaError: ReferenceError: "btoa" is not defined. (<Unknown source>#38) in <Unknown source> at line number 38
...全文
相关推荐
java和js相互base64编码解码
`调用.txt`文件可能是测试这两种编码解码方法的简单脚本,它会调用Java和JavaScript中的函数,并比较结果是否一致,确保在不同环境下的Base64编码和解码是兼容的。
JS逆向实战:使用WT-JS_DEBUG工具定位与复现AES加密参数
JavaScript逆向工程是网络安全和数据采集领域的关键技术,其核心原理在于通过动态调试技术,分析混淆或加密的前端代码逻辑。这项技术的价值在于能够绕过客户端保护机制,实现数据接口的合法调用与安全测试。在实际应用中,常需处理AES等对称加密算法保护的参数。本文以AES加密参数为例,结合WT-JS_DEBUG_V1.8.3调试工具,详细演示如何通过动态执行跟踪和内存Hook技术,定位加密函数、提取密钥与IV等关键参数,并最终在本地环境中复现加密过程。内容涵盖从环境准备、断点设置、调用栈分析到代码还原的完整流程
base64,java与JavaScript实现
对于现代浏览器来说,可以直接使用`window.btoa()`和`window.atob()`函数来完成Base64的编码和解码。
Java使用Google Zxing生成二维码的例子
例如,JavaScript函数`submit1()`负责获取用户输入的关键词,然后动态创建包含二维码的HTML表格,每个关键词对应一行,其中包含一个显示二维码的`<img>`标签。
Captcha:使用Java脚本的验证码
JavaScript会比较输入的验证码和存储在sessionStorage中的验证码,如果匹配则发送请求到后端进行验证:```javascript$("#captcha-form").on("submit


