From 62f383a838021d4da125433e7939f32b2a33768e Mon Sep 17 00:00:00 2001 From: "995608517@qq.com" <995608517@qq.com> Date: Sun, 7 May 2023 22:47:30 +0800 Subject: [PATCH] =?UTF-8?q?=E8=85=BE=E8=AE=AF=E4=BA=91=E5=8A=A0=E5=AF=86?= =?UTF-8?q?=E4=BF=AE=E6=94=B9?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../org/dromara/sms4j/tencent/utils/TencentUtils.java | 9 +++++---- 1 file changed, 5 insertions(+), 4 deletions(-) diff --git a/sms4j-provider/src/main/java/org/dromara/sms4j/tencent/utils/TencentUtils.java b/sms4j-provider/src/main/java/org/dromara/sms4j/tencent/utils/TencentUtils.java index dd24a0ec..cbf5fa69 100644 --- a/sms4j-provider/src/main/java/org/dromara/sms4j/tencent/utils/TencentUtils.java +++ b/sms4j-provider/src/main/java/org/dromara/sms4j/tencent/utils/TencentUtils.java @@ -1,12 +1,12 @@ package org.dromara.sms4j.tencent.utils; +import cn.hutool.core.codec.Base64; import com.alibaba.fastjson.JSON; import lombok.extern.slf4j.Slf4j; import org.dromara.sms4j.tencent.config.TencentConfig; import javax.crypto.Mac; import javax.crypto.spec.SecretKeySpec; -//import javax.xml.bind.DatatypeConverter; import java.nio.charset.StandardCharsets; import java.security.MessageDigest; import java.text.SimpleDateFormat; @@ -44,8 +44,8 @@ public class TencentUtils { private static String sha256Hex(String s) throws Exception { MessageDigest md = MessageDigest.getInstance("SHA-256"); byte[] d = md.digest(s.getBytes(StandardCharsets.UTF_8)); + return Base64.encode(d).toLowerCase(); // return DatatypeConverter.printHexBinary(d).toLowerCase(); - return ""; } /** @@ -87,9 +87,10 @@ public class TencentUtils { byte[] secretService = hmac256(secretDate, tencentConfig.getService()); byte[] secretSigning = hmac256(secretService, "tc3_request"); // String signature = DatatypeConverter.printHexBinary(hmac256(secretSigning, stringToSign)).toLowerCase(); + String signature = Base64.encode(hmac256(secretSigning, stringToSign)).toLowerCase(); // ************* 步骤 4:拼接 Authorization ************* - return ALGORITHM + " " + "Credential=" + tencentConfig.getAccessKeyId() + "/" + credentialScope + ", "; -// + "SignedHeaders=" + signedHeaders + ", " + "Signature=" + signature; + return ALGORITHM + " " + "Credential=" + tencentConfig.getAccessKeyId() + "/" + credentialScope + ", " + + "SignedHeaders=" + signedHeaders + ", " + "Signature=" + signature; } /**