diff --git a/pom.xml b/pom.xml index a3b0d02f5701966991c4b4a8e26d6d3201584416..509b378c3864d212461adfc8c682a64cc3a7e36d 100644 --- a/pom.xml +++ b/pom.xml @@ -171,6 +171,13 @@ org.springframework.kafka spring-kafka + + + commons-codec + commons-codec + 1.15 + + diff --git a/src/main/java/com/easysoftware/application/domainpackage/DomainPackageServiceImpl.java b/src/main/java/com/easysoftware/application/domainpackage/DomainPackageServiceImpl.java index 6d17dad3b0a2527fc67d30e2d0223c7a8e27ac67..65a0519d9fb73f13bf3b28c8c4ef12d742bfc23e 100644 --- a/src/main/java/com/easysoftware/application/domainpackage/DomainPackageServiceImpl.java +++ b/src/main/java/com/easysoftware/application/domainpackage/DomainPackageServiceImpl.java @@ -30,6 +30,7 @@ import com.easysoftware.ranking.Ranker; import com.easysoftware.redis.RedisGateway; import com.easysoftware.redis.RedisUtil; import jakarta.annotation.Resource; +import org.apache.commons.codec.digest.DigestUtils; import org.apache.commons.lang3.StringUtils; import org.slf4j.Logger; import org.slf4j.LoggerFactory; @@ -201,7 +202,7 @@ public class DomainPackageServiceImpl implements DomainPackageService { // 根据请求参数生成唯一redis key String redisKeyStr = RedisUtil.objectToString(condition); String redisKeyFormat = "domainPage_%s"; - String redisKey = String.format(redisKeyFormat, RedisUtil.getSHA256(redisKeyStr)); + String redisKey = String.format(redisKeyFormat, DigestUtils.sha256Hex(redisKeyStr)); try { // 结果未过期,直接返回 if (redisGateway.hasKey(redisKey)) { diff --git a/src/main/java/com/easysoftware/redis/RedisUtil.java b/src/main/java/com/easysoftware/redis/RedisUtil.java index 90209db45ed641cb1597c0be9c7f36dc1a76f1f9..ff32a19b343fa01ee9752e16595a3ee4a8ed2526 100644 --- a/src/main/java/com/easysoftware/redis/RedisUtil.java +++ b/src/main/java/com/easysoftware/redis/RedisUtil.java @@ -7,9 +7,6 @@ import org.slf4j.LoggerFactory; import java.io.IOException; import java.lang.reflect.Field; -import java.nio.charset.StandardCharsets; -import java.security.MessageDigest; -import java.security.NoSuchAlgorithmException; import java.util.ArrayList; import java.util.List; import java.util.Map; @@ -124,38 +121,5 @@ public final class RedisUtil { return null; } } - - /** - * Generate the SHA-256 hash of an input string. - * - * @param input The input string to generate the hash for. - * @return The SHA-256 hash of the input string. - */ - public static String getSHA256(final String input) { - try { - // 初始化MessageDigest实例,并指定SHA-256算法 - MessageDigest md = MessageDigest.getInstance("SHA-256"); - - // 将输入字符串转换为字节数组,并更新摘要 - md.update(input.getBytes(StandardCharsets.UTF_8)); - - // 完成哈希计算,并获取哈希值的字节表示 - byte[] hash = md.digest(); - - // 将字节数组转换为十六进制字符串 - StringBuilder hexString = new StringBuilder(); - for (byte b : hash) { - String hex = Integer.toHexString(0xff & b); - if (hex.length() == 1) { - hexString.append('0'); - } - hexString.append(hex); - } - - return hexString.toString(); - } catch (NoSuchAlgorithmException e) { - throw new RuntimeException(e); - } - } }