From af2cbc2a24b3724e7fc3e6b42e134b21a3144c75 Mon Sep 17 00:00:00 2001 From: hxb <hxb@hdlchina.com.cn> Date: 星期四, 17 二月 2022 15:33:19 +0800 Subject: [PATCH] 过滤掉非json数据不传给三方使用 --- HDLSDK/hdl-connect/src/main/java/com/hdl/sdk/connect/bean/LinkRequest.java | 42 +++++++++++++++++++++++++++++++++++++++++- 1 files changed, 41 insertions(+), 1 deletions(-) diff --git a/HDLSDK/hdl-connect/src/main/java/com/hdl/sdk/connect/bean/LinkRequest.java b/HDLSDK/hdl-connect/src/main/java/com/hdl/sdk/connect/bean/LinkRequest.java index 3634ce4..9a9b5ae 100644 --- a/HDLSDK/hdl-connect/src/main/java/com/hdl/sdk/connect/bean/LinkRequest.java +++ b/HDLSDK/hdl-connect/src/main/java/com/hdl/sdk/connect/bean/LinkRequest.java @@ -4,12 +4,18 @@ import androidx.annotation.NonNull; +import com.hdl.sdk.common.utils.LogUtils; +import com.hdl.sdk.connect.config.HDLLinkConfig; +import com.hdl.sdk.common.utils.ByteUtils; +import com.hdl.sdk.connect.utils.AesUtil; + /** * Created by Tong on 2021/9/29. */ public class LinkRequest { private String topic; private String data; + private int length; public LinkRequest() { @@ -35,7 +41,7 @@ public void setData(String data) { this.data = data; if (!TextUtils.isEmpty(data)) { - setLength(data.length()); + setLength(getBytesLength(data)); } else { setLength(0); } @@ -61,4 +67,38 @@ "\r\n\r\n" + getData(); } + + + private int getBytesLength(String str) { + return ByteUtils.stringToBytes(str).length; + } + + + /** + * 鑾峰彇鍙戦�佹暟鎹産yte + * + * @return + */ + public byte[] getSendBytes() { + try { + //鍒ゆ柇鏄惁闇�瑕佸姞瀵� + if (HDLLinkConfig.getInstance().ifNeedEncrypt(topic)) { + //闇�瑕佸姞瀵� + byte[] dataBytes = AesUtil.aesEncrypt(ByteUtils.stringToBytes(data), HDLLinkConfig.getInstance().getLocalSecret()); + String headString = "Topic:" + getTopic() + "\r\n" + "Length:" + dataBytes.length + "\r\n" + "\r\n"; + byte[] headBytes = headString.getBytes("utf-8"); + byte[] sendBytes = ByteUtils.concatBytes(headBytes, dataBytes); + LogUtils.i("鍙戦�佹暟鎹細\r\n" + headString + "\r\n" + data); + return sendBytes; + + } else { + String sendString = this.toString(); + LogUtils.i("鍙戦�佹暟鎹細\r\n" + sendString); + return sendString.getBytes("utf-8"); + } + + } catch (Exception e) { + return new byte[]{}; + } + } } -- Gitblit v1.8.0