Articles of java

Java BouncyCastle中的确定性AES-CTR?

我一直在Node中使用aes-js来使用AES计数器模式进行encryption/解密。 正如你可以在例子中看到的,我使用它没有填充,我可以指定哪个块(在这种情况下,0)我想开始。 var aesCTR = new aesjs.ModeOfOperation.ctr(keyBytes, new aesjs.Counter(0)); var encryptedBytes = aesCTR.encrypt(plaintextBytes); 我想在Java中重现上面的相同行为。 我正在使用BouncyCastle ,如下面的例子。 SecretKeySpec key = new SecretKeySpec(keyBytes, "AES"); Cipher cipher = Cipher.getInstance("AES/CTR/NoPadding", "BC"); cipher.init(Cipher.ENCRYPT_MODE, key); byte[] encrypted=cipher.doFinal(msgBytes); 但是这个实现似乎没有输出与上面相同的值。 另外,似乎每次运行都会自动增加计数器(在这种情况下不合需要的行为)。 有没有一种方法来匹配使用Java的Node JS实现?

javax.json产生难以理解的json

我有一个Java类与两个atrributes,我转换为json使用这种方法。 我跟着这个其他答案: 返回JSONArray而不是JSONObject,Jersey JAX-RS public String toString(){ // takes advantage of toString() implementation to format {"a":"b"} JsonObject json = Json.createObjectBuilder() .add("sentence", sentence) .add( "category", category).build(); return json.toString(); } 我得到的string封装到一个string的ArrayList,并通过HTTP(我使用泽西岛)发送: return Response.status(200).entity(response).build(); 如何,节点客户端正在使用不能正确parsing它:它获取数组部分,完美地访问元素。 但不是JSON键和值; 返回undefined: jsonRespuesta = JSON.parse(body)[0]; console.log(jsonRespuesta); console.log("Frase: " +jsonRespuesta.sentence + " ,Categoria: " + jsonRespuesta.category); 返回: {"sentence":"hola","category":"2"} Frase: undefined ,Categoria: undefined 什么是失败? 如果有帮助,使用wireshark捕获数据包会将数组成员显示为string

使用Java从$ PATH获取可执行文件的绝对path

我在我的命令行Java应用程序中调用nodeJS可执行文件。 由于可执行文件位于$PATHvariables中的某个位置,因此可以简单地将其称为node 。 但是,我必须提供一个参数(要运行的.js文件),如果我提供了一个相对于node可执行文件的path,nodeJS会抛出一个错误,它找不到.js文件。 所以,我正在寻找的是获得正在运行的node可执行文件的绝对path,然后编译.js文件的绝对path,我必须将其作为参数添加到node命令。 是否有一种方法可以在Java平台不可知的情况下做到这一点? 我意识到我可以运行where node ,得到输出,并从那里,但我不想硬编码特定于操作系统的命令。 这是我的代码到目前为止: CommandLine cmdLine = new CommandLine("node"); cmdLine.addArgument("D:/SDKs/Appium/node_modules/appium/lib/server/main.js"); cmdLine.addArgument("–address"); cmdLine.addArgument("0.0.0.0"); cmdLine.addArgument("–port"); cmdLine.addArgument("4444"); cmdLine.addArgument("–app"); File app = new File("some.apk"); cmdLine.addArgument(app.getAbsolutePath()); cmdLine.addArgument("–app-pkg"); cmdLine.addArgument("some.stuff.does.not.matter"); cmdLine.addArgument("–pre-launch"); cmdLine.addArgument("–automation-name"); cmdLine.addArgument("Appium"); System.out.println(cmdLine.toString()); DefaultExecutor executor = new DefaultExecutor(); ExecuteWatchdog watchdog = new ExecuteWatchdog(60000); executor.setWatchdog(watchdog); try { int exitValue = executor.execute(cmdLine); } catch (IOException e) { […]

试图了解node.jscallback函数通常不期望任何参数?

我正在尝试与node.js和node-java一起工作,试图让我的头部缠绕一些概念,特别是如何编写asynchronous方法调用。 我认为,对于Java中的函数myclass.x(): [在Java中]: Z = myclass.x(abc); 和: [在node.js / node-java]中: myclass.x(abc, function(err,data) { //TODO Z = data;}); 换句话说,使用参数abc评估myclass.x函数,如果没有错误,则结果进入“数据”,然后分配给Z. 那是对的吗? 这是我感到困惑的事情(或其中一件事情)。 如果函数myclass.x()不带任何参数会发生什么? 换句话说,它通常(在Java中)就是这样调用的: Z = myclass.x(); 如果是这样的话,node.js代码应该如何查看? myclass.x(, function(err,data) { //TODO Z = data;}); 似乎并不正确,但是: myclass.x( function(err,data) { //TODO Z = data;}); 也似乎不正确。 那么在这种情况下,编写node.js代码的正确方法是什么? 提前致谢!! 吉姆 编辑1:每个评论,我添加我正在使用的具体代码是最后几个从这个其他问题的注释行: node.js和node-java:这个java代码是什么等价的node.js代码? 这些是线条(在另一个问题中注释掉): var MyFactoryImplClass = java.import("oracle.security.jps.openaz.pep.PepRequestFactoryImpl.PepRequestFactoryImpl"); var result = […]

将Javaencryption代码转换为NodeJS

我正在NodeJS中实施沃尔玛API 。 沃尔玛只提供JAVA的例子。 我遇到的问题正确。 与使用它们提供的Java可执行文件相比,我的签名更长,不被接受。 我会很感激任何帮助。 即使搞清楚沃尔玛提供的秘密是什么格式也会有所帮助。 这里是工作的Java代码: import org.apache.commons.codec.binary.Base64; import java.security.KeyFactory; import java.security.PrivateKey; import java.security.Signature; import java.security.spec.PKCS8EncodedKeySpec; public class SHA256WithRSAAlgo { private static String consumerId = "b68d2a72…."; // Trimmed for security reason private static String baseUrl = "https://marketplace.walmartapis.com/v2/feeds"; private static String privateEncodedStr = "MIICeAIBADANBgkqhkiG9w0BAQEFAA……"; //Trimmed for security reasons public static void main(String[] args) { […]

节点服务器拦截从angular(http)到java后端的所有请求

我在节点上使用express来进行路由,并使用angular作为前端框架。 我正在使用Redis进行会话。 我想要做的是,当我从angular度的http请求,它应该首先去节点,我想添加额外的头信息,如身份validation令牌,而不是传递给java(春季)后端。 我想这样做,因为如果我直接从angular度http传递信息将在networking选项卡中可见,这可能是安全漏洞。 那么如何使angular色和Java后端使用节点js服务器节点拦截器?

雷迪斯哨兵设置了春季引导

我有1个主站和2个从站上的redis,每个服务器上的端口26379上都有一个标识进程 我想知道如何configuration一个标记为主,以添加在application.property文件中的以下。 spring.redis.sentinel.master= spring.redis.sentinel.nodes= 我有redis服务器2.8.19和弹簧引导1.3.4,spring-data-redis 1.6.4jar子

如何共享java和node.js应用程序之间的dynamic属性

我有一个应用程序,大部分的代码写在Java上,但networking聊天写在node.js。 如何在两个应用程序之间共享像每秒最大请求数,cdn主机等属性? 可能是redis?

从Android应用程序发送到nodejs服务器通过HTTP发送后,我的JSON看起来不同

当我试图通过HTTP发送一个JSON作为一个string到一个nodejs服务器,当我试图loggingrequest.body它看起来不同,我不能访问任何领域。 我的类发送请求到服务器: public class SendData extends AsyncTask<String, Void, String> { @Override protected String doInBackground(String… strings) { String data = ""; HttpURLConnection httpURLConnection = null; try{ httpURLConnection = (HttpURLConnection)new URL(strings[0]).openConnection(); httpURLConnection.setRequestMethod("POST"); httpURLConnection.setDoOutput(true); DataOutputStream wr = new DataOutputStream(httpURLConnection.getOutputStream()); wr.writeBytes(strings[1]); wr.flush(); wr.close(); InputStreamReader inputStreamReader = new InputStreamReader(httpURLConnection.getInputStream()); int inputStreamData = inputStreamReader.read(); while (inputStreamData != -1){ char current = […]

安卓发布请求使用凌空

我在我的android代码中使用了Volley,HttpClient和HttpUrlConnection,它们从传感器pipe理器获取传感器指标。 我需要通过POST请求将这些指标导出到nodejs服务器。 每当传感器值发生变化时,我需要一个发送请求asynchronous到http服务器 MainActivity.java package com.example.rpothuraju.gyrometrics; import android.app.Activity; import android.hardware.Sensor; import android.hardware.SensorEvent; import android.hardware.SensorEventListener; import android.hardware.SensorManager; import android.os.Bundle; import android.util.Log; import android.widget.TextView; import com.android.volley.Request; import com.android.volley.Response; import com.android.volley.VolleyError; import com.android.volley.toolbox.StringRequest; public class MainActivity extends Activity implements SensorEventListener{ TextView textView; private SensorManager sensorManager; //private Sensor sensor; @Override public void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentView(R.layout.activity_main); textView = […]