From fd339e630b737b94e4a4643979bcec153bc6b91f Mon Sep 17 00:00:00 2001 From: pppscn <35696959@qq.com> Date: Wed, 29 Sep 2021 15:00:16 +0800 Subject: [PATCH] =?UTF-8?q?=E9=A3=9E=E4=B9=A6=E5=8A=A0=E5=AF=86=E7=AE=97?= =?UTF-8?q?=E6=B3=95=E4=BC=98=E5=8C=96?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../idormy/sms/forwarder/sender/SenderBaseMsg.java | 2 +- .../sms/forwarder/sender/SenderFeishuMsg.java | 14 +++++++++----- 2 files changed, 10 insertions(+), 6 deletions(-) diff --git a/app/src/main/java/com/idormy/sms/forwarder/sender/SenderBaseMsg.java b/app/src/main/java/com/idormy/sms/forwarder/sender/SenderBaseMsg.java index bbb1f32c..ce168051 100644 --- a/app/src/main/java/com/idormy/sms/forwarder/sender/SenderBaseMsg.java +++ b/app/src/main/java/com/idormy/sms/forwarder/sender/SenderBaseMsg.java @@ -15,7 +15,7 @@ public class SenderBaseMsg { Message msg = new Message(); msg.what = NOTIFY; Bundle bundle = new Bundle(); - bundle.putString("DATA", Tag + ":" + data); + bundle.putString("DATA", Tag + "-" + data); msg.setData(bundle); handError.sendMessage(msg); } diff --git a/app/src/main/java/com/idormy/sms/forwarder/sender/SenderFeishuMsg.java b/app/src/main/java/com/idormy/sms/forwarder/sender/SenderFeishuMsg.java index 3039d82e..e0473f37 100644 --- a/app/src/main/java/com/idormy/sms/forwarder/sender/SenderFeishuMsg.java +++ b/app/src/main/java/com/idormy/sms/forwarder/sender/SenderFeishuMsg.java @@ -11,7 +11,6 @@ import com.idormy.sms.forwarder.utils.LogUtil; import com.idormy.sms.forwarder.utils.SettingUtil; import java.io.IOException; -import java.net.URLEncoder; import java.nio.charset.StandardCharsets; import java.util.HashMap; import java.util.Map; @@ -47,12 +46,17 @@ public class SenderFeishuMsg extends SenderBaseMsg { //签名校验 if (secret != null && !secret.isEmpty()) { - Long timestamp = System.currentTimeMillis(); + Long timestamp = System.currentTimeMillis() / 1000; + //把timestamp+"\n"+密钥当做签名字符串 String stringToSign = timestamp + "\n" + secret; + Log.i(TAG, "stringToSign = " + stringToSign); + + //使用HmacSHA256算法计算签名 Mac mac = Mac.getInstance("HmacSHA256"); - mac.init(new SecretKeySpec(secret.getBytes(StandardCharsets.UTF_8), "HmacSHA256")); - byte[] signData = mac.doFinal(stringToSign.getBytes(StandardCharsets.UTF_8)); - String sign = URLEncoder.encode(new String(Base64.encode(signData, Base64.NO_WRAP)), "UTF-8"); + mac.init(new SecretKeySpec(stringToSign.getBytes(StandardCharsets.UTF_8), "HmacSHA256")); + byte[] signData = mac.doFinal(new byte[]{}); + String sign = new String(Base64.encode(signData, Base64.NO_WRAP)); + textMsgMap.put("timestamp", timestamp); textMsgMap.put("sign", sign); }