diff --git a/payment-spring-boot-autoconfigure/src/main/java/cn/felord/payment/wechat/v2/model/BaseModel.java b/payment-spring-boot-autoconfigure/src/main/java/cn/felord/payment/wechat/v2/model/BaseModel.java index ede9b42..210c729 100644 --- a/payment-spring-boot-autoconfigure/src/main/java/cn/felord/payment/wechat/v2/model/BaseModel.java +++ b/payment-spring-boot-autoconfigure/src/main/java/cn/felord/payment/wechat/v2/model/BaseModel.java @@ -152,10 +152,11 @@ public abstract class BaseModel { */ @SneakyThrows private String hmacSha256(String src) { - Mac sha256_HMAC = Mac.getInstance("HmacSHA256"); - SecretKeySpec secret_key = new SecretKeySpec(appSecret.getBytes(),"HmacSHA256"); - sha256_HMAC.init(secret_key); - byte[] bytes = sha256_HMAC.doFinal(src.getBytes(StandardCharsets.UTF_8)); + String algorithm = "HmacSHA256"; + Mac sha256HMAC = Mac.getInstance(algorithm,"BC"); + SecretKeySpec secretKeySpec = new SecretKeySpec(appSecret.getBytes(), algorithm); + sha256HMAC.init(secretKeySpec); + byte[] bytes = sha256HMAC.doFinal(src.getBytes(StandardCharsets.UTF_8)); return Hex.toHexString(bytes).toUpperCase(); }