From f636b80037602d604677990aa5f0ce8494f1cb67 Mon Sep 17 00:00:00 2001 From: yujianbo <1299105272@qq.com> Date: Wed, 31 May 2023 23:15:24 +0800 Subject: [PATCH] =?UTF-8?q?fix(#1272):=201=E3=80=81sign=20is=20null=20fix?= =?UTF-8?q?=202=E3=80=81code=20reformat?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../platform/LarkSendMessageHandler.java | 27 ++++++++----------- .../robot/dynamic-thread-pool/lark-alarm.json | 2 +- 2 files changed, 12 insertions(+), 17 deletions(-) diff --git a/threadpool/message/src/main/java/cn/hippo4j/message/platform/LarkSendMessageHandler.java b/threadpool/message/src/main/java/cn/hippo4j/message/platform/LarkSendMessageHandler.java index 8f9a8463..1a98cfeb 100644 --- a/threadpool/message/src/main/java/cn/hippo4j/message/platform/LarkSendMessageHandler.java +++ b/threadpool/message/src/main/java/cn/hippo4j/message/platform/LarkSendMessageHandler.java @@ -88,12 +88,18 @@ public class LarkSendMessageHandler implements SendMessageHandler { larkAlarmTxt = StringUtil.replace(larkAlarmTxt, larkAlarmTimeoutReplaceJson, ""); } - String timestamp=String.valueOf(System.currentTimeMillis()).substring(0,10);; - String sign = genSign(notifyConfig.getSecret(), timestamp); + String timestamp = String.valueOf(System.currentTimeMillis()).substring(0, 10); + String signKey = ""; + String signVal = ""; + if (notifyConfig.getSecret() != null) { + signVal = genSign(notifyConfig.getSecret(), timestamp); + signKey = "sign"; + } String text = String.format(larkAlarmTxt, timestamp, - sign, + signKey, + signVal, alarmNotifyRequest.getActive(), alarmNotifyRequest.getNotifyTypeEnum(), alarmNotifyRequest.getThreadPoolId(), @@ -166,25 +172,14 @@ public class LarkSendMessageHandler implements SendMessageHandler { } } - private String verifySign(String secret, long timestamp) throws Exception { - //把timestamp+"\n"+密钥当做签名字符串 - String stringToSign = timestamp + "\n" + secret; - - //使用HmacSHA256算法计算签名 - Mac mac = Mac.getInstance("HmacSHA256"); - mac.init(new SecretKeySpec(stringToSign.getBytes(StandardCharsets.UTF_8), "HmacSHA256")); - byte[] signData = mac.doFinal(new byte[]{}); - return new String(Base64.encodeBase64(signData)); - } - /** * generate Signature */ private String genSign(String secret, String timestamp) throws NoSuchAlgorithmException, InvalidKeyException { - //把timestamp+"\n"+密钥当做签名字符串 + // geneSign String stringToSign = timestamp + "\n" + secret; - //使用HmacSHA256算法计算签名 + // encode Mac mac = Mac.getInstance("HmacSHA256"); mac.init(new SecretKeySpec(stringToSign.getBytes(StandardCharsets.UTF_8), "HmacSHA256")); byte[] signData = mac.doFinal(new byte[]{}); diff --git a/threadpool/message/src/main/resources/message/robot/dynamic-thread-pool/lark-alarm.json b/threadpool/message/src/main/resources/message/robot/dynamic-thread-pool/lark-alarm.json index 0a285fea..21bf93af 100644 --- a/threadpool/message/src/main/resources/message/robot/dynamic-thread-pool/lark-alarm.json +++ b/threadpool/message/src/main/resources/message/robot/dynamic-thread-pool/lark-alarm.json @@ -1,7 +1,7 @@ { "msg_type": "interactive", "timestamp":"%s", - "sign": "%s", + "%s":"%s", "card": { "config": { "wide_screen_mode": true