Java执行js加密算法】的更多相关文章

Java执行js加密算法 今日需求:在后端执行一段加密算法,算法是js写的 明白需求以后疯狂百度.最后发现JDK提供了各种脚本的支持(怪笔者学艺不精,第一次见识到这个库,留下不学无术的泪水),正题开始,Java如何执行一段加密算法呢? java对脚本的支持全部存放于javax.script包下 接口: Bindlings Compilable Invocable ScriptContext ScriptEngine ScriptEngineFactory 类: AbstractScriptEng…
在做项目中有时候需要用到Java调用js文件执行相应的方法 在JDK1.6添加了新的ScriptEngine类,允许用户直接执行js代码. import org.junit.Test; import javax.script.Invocable; import javax.script.ScriptEngine; import javax.script.ScriptEngineManager; /** * @author ceshi * @Title: JunitTestJS * @Projec…
在我们开发的过程中,可能有这么一种情况,在java中需要取调用js方法完成一些事情.那么什么时候可能出现这种情况呢.比如我们使用爬虫模拟登录别的网站,但有些网站前台使用js对密码进行了加密处理,那么就需要在java中进行调用js方法,完成js密码的加密操作. 在这篇博客记录如下几种调用方式: 1.java执行js文件 2.js方法写在java代码中,然后执行 3.脚本引擎自身的作用域和全局作用域 4.在js中调用java类 实现: 1.java执行js文件 |- 执行js文件中的方法 |- 向j…
前言: 不同开发语言之间具有通用性,更具有协作调用的可能.有时候对于一些场景会有调用js的需求,因此下面展示了一个java利用自身JDK调用js函数的demo,供感兴趣的朋友参考. js函数文件 expression.js function merge(a, b) { c = a * b; return c; } function isPrime (num) { if (num <= 1) { print("Please enter a positive integer >= 2.&…
在某些特定场景下,我们需要用Java来执行Js代码(如模拟登录时,密码被JS加密了的情况),操作如下: ScriptEngineManager mgr = new ScriptEngineManager(); ScriptEngine engine = mgr.getEngineByName("javascript"); engine.eval(strJs);返回结果 = ((Invocable)engine).invokeFunction("js方法名", new…
要在java中执行js代码,首先明白,java不支持浏览器本身的方法.支持自定义的js方法,否则会报错 先新建一个js文件:jsss.js 内容如下: function aa(a,b){ return a+b; } 然后在java中写代码: public class ZipTest { public static void main(String[] args) throws Exception { ScriptEngineManager manager = new ScriptEngineMa…
        今天在公司项目中,发现一个计算运费的妙招.由于运费规则各种各样,因此写一个公式存到数据库.下次需要计算运费时,直接取出这个公式,把公式的未知变量给替换掉,然后计算出结果就是ok了. 一.先看几张图 (1)数据库存的公式          (2)怎么在java代码中计算出结果,见下面2张图                  这图,是在map集合中存了 key为"\\$w"  value为重量的参数.关键是下面这图                  这图中方法接收参数为 (…
package 测试包; import javax.script.*; public class SSSSSSSSS { public SSSSSSSSS() { // TODO Auto-generated constructor stub } public static void main(String[] args) { // TODO Auto-generated method stub ScriptEngineManager sem=new ScriptEngineManager();…
为用到时,使用方便直接保存一下代码 package com.xzlf.reflectTest; import java.io.BufferedReader; import java.io.FileInputStream; import java.io.InputStreamReader; import java.io.Reader; import java.util.List; import javax.script.Invocable; import javax.script.ScriptEn…
1.面对页面一些页面上的限制而导致某些选择按钮无法选中的问题 很多时候由于页面上的一些限制会导致我们无法无法正常用webdriver来实现我们手动的正常操作,这时候我们可以通过执行js来适当的改变页面样式,比如有些选择框在页面显示边界的时候因为显示的原因有滚动条而在边界的时候点击选择框是点不中的 只能拖动滚动条调整位置,但是weddriver的自动化操作不可能像手工那样智能,这是我们可以考虑通过js把滚动条去掉,来显示出所有的信息这样就可以避免上述的烦恼.执行js的应用如下:首先需要写一条字符型…