修复腾讯云不兼容部分

阿里敏感信息日志改为debug级别
This commit is contained in:
wind 2023-05-10 20:04:03 +08:00
parent fbfaf0c6c7
commit 5bd7425929
2 changed files with 4 additions and 6 deletions

View File

@ -93,7 +93,7 @@ public class AlibabaSmsImpl implements SmsBlend {
log.error("aliyun send message error", e); log.error("aliyun send message error", e);
throw new SmsBlendException(e.getMessage()); throw new SmsBlendException(e.getMessage());
} }
log.info("requestUrl {}", requestUrl); log.debug("requestUrl {}", requestUrl);
http.post(requestUrl) http.post(requestUrl)
.addHeader("Content-Type", "application/x-www-form-urlencoded") .addHeader("Content-Type", "application/x-www-form-urlencoded")
.addBody(paramStr) .addBody(paramStr)

View File

@ -1,12 +1,12 @@
package org.dromara.sms4j.tencent.utils; package org.dromara.sms4j.tencent.utils;
import cn.hutool.core.codec.Base64;
import com.alibaba.fastjson.JSON; import com.alibaba.fastjson.JSON;
import lombok.extern.slf4j.Slf4j; import lombok.extern.slf4j.Slf4j;
import org.dromara.sms4j.tencent.config.TencentConfig; import org.dromara.sms4j.tencent.config.TencentConfig;
import javax.crypto.Mac; import javax.crypto.Mac;
import javax.crypto.spec.SecretKeySpec; import javax.crypto.spec.SecretKeySpec;
import javax.xml.bind.DatatypeConverter;
import java.nio.charset.StandardCharsets; import java.nio.charset.StandardCharsets;
import java.security.MessageDigest; import java.security.MessageDigest;
import java.text.SimpleDateFormat; import java.text.SimpleDateFormat;
@ -44,8 +44,7 @@ public class TencentUtils {
private static String sha256Hex(String s) throws Exception { private static String sha256Hex(String s) throws Exception {
MessageDigest md = MessageDigest.getInstance("SHA-256"); MessageDigest md = MessageDigest.getInstance("SHA-256");
byte[] d = md.digest(s.getBytes(StandardCharsets.UTF_8)); byte[] d = md.digest(s.getBytes(StandardCharsets.UTF_8));
return Base64.encode(d).toLowerCase(); return DatatypeConverter.printHexBinary(d).toLowerCase();
// return DatatypeConverter.printHexBinary(d).toLowerCase();
} }
/** /**
@ -86,8 +85,7 @@ public class TencentUtils {
byte[] secretDate = hmac256(("TC3" + tencentConfig.getAccessKeySecret()).getBytes(StandardCharsets.UTF_8), date); byte[] secretDate = hmac256(("TC3" + tencentConfig.getAccessKeySecret()).getBytes(StandardCharsets.UTF_8), date);
byte[] secretService = hmac256(secretDate, tencentConfig.getService()); byte[] secretService = hmac256(secretDate, tencentConfig.getService());
byte[] secretSigning = hmac256(secretService, "tc3_request"); byte[] secretSigning = hmac256(secretService, "tc3_request");
// String signature = DatatypeConverter.printHexBinary(hmac256(secretSigning, stringToSign)).toLowerCase(); String signature = DatatypeConverter.printHexBinary(hmac256(secretSigning, stringToSign)).toLowerCase();
String signature = Base64.encode(hmac256(secretSigning, stringToSign)).toLowerCase();
// ************* 步骤 4拼接 Authorization ************* // ************* 步骤 4拼接 Authorization *************
return ALGORITHM + " " + "Credential=" + tencentConfig.getAccessKeyId() + "/" + credentialScope + ", " return ALGORITHM + " " + "Credential=" + tencentConfig.getAccessKeyId() + "/" + credentialScope + ", "
+ "SignedHeaders=" + signedHeaders + ", " + "Signature=" + signature; + "SignedHeaders=" + signedHeaders + ", " + "Signature=" + signature;