This is an automated email from the ASF dual-hosted git repository.

likeguo pushed a commit to branch master
in repository https://gitbox.apache.org/repos/asf/shenyu.git


The following commit(s) were added to refs/heads/master by this push:
     new b12f9526e [type:refactor] tidied up Utils. (#4232)
b12f9526e is described below

commit b12f9526e6c8a502f56336615fdef6992a47c3ad
Author: 愿凌飞 <[email protected]>
AuthorDate: Fri Dec 2 16:30:11 2022 +0800

    [type:refactor] tidied up Utils. (#4232)
    
    * [type:refactor] tidied up Utils.
    
    * added AbstractDataChangedListener
---
 .../admin/controller/DashboardUserController.java  |  8 +--
 .../listener/AbstractDataChangedListener.java      |  4 +-
 .../service/impl/DashboardUserServiceImpl.java     |  6 +-
 .../admin/mapper/DashboardUserMapperTest.java      |  4 +-
 .../admin/service/DashboardUserServiceTest.java    |  4 +-
 .../utils/{ShaUtils.java => DigestUtils.java}      | 49 +++++++------
 .../org/apache/shenyu/common/utils/Md5Utils.java   | 80 ----------------------
 .../org/apache/shenyu/common/utils/SignUtils.java  |  2 -
 .../{ShaUtilsTest.java => DigestUtilsTest.java}    | 24 ++++---
 .../apache/shenyu/common/utils/Md5UtilsTest.java   | 34 ---------
 .../shenyu/plugin/cache/utils/CacheUtils.java      |  4 +-
 .../logging/mask/api/spi/Md5EncryptDataMask.java   |  4 +-
 .../mask/api/factory/DataMaskFactoryTest.java      |  4 +-
 .../mask/api/spi/Md5EncryptDataMaskTest.java       |  4 +-
 .../logging/mask/api/utils/DataMaskUtilsTest.java  |  8 +--
 .../shenyu/web/filter/LocalDispatcherFilter.java   |  4 +-
 .../web/filter/LocalDispatcherFilterTest.java      |  4 +-
 17 files changed, 72 insertions(+), 175 deletions(-)

diff --git 
a/shenyu-admin/src/main/java/org/apache/shenyu/admin/controller/DashboardUserController.java
 
b/shenyu-admin/src/main/java/org/apache/shenyu/admin/controller/DashboardUserController.java
index 5c67dd668..43c28ade5 100644
--- 
a/shenyu-admin/src/main/java/org/apache/shenyu/admin/controller/DashboardUserController.java
+++ 
b/shenyu-admin/src/main/java/org/apache/shenyu/admin/controller/DashboardUserController.java
@@ -34,7 +34,7 @@ import org.apache.shenyu.admin.utils.Assert;
 import org.apache.shenyu.admin.utils.SessionUtil;
 import org.apache.shenyu.admin.utils.ShenyuResultMessage;
 import org.apache.shenyu.admin.validation.annotation.Existed;
-import org.apache.shenyu.common.utils.ShaUtils;
+import org.apache.shenyu.common.utils.DigestUtils;
 import org.apache.shiro.SecurityUtils;
 import org.apache.shiro.authz.annotation.RequiresPermissions;
 
@@ -122,7 +122,7 @@ public class DashboardUserController {
     public ShenyuAdminResult createDashboardUser(@Valid @RequestBody final 
DashboardUserDTO dashboardUserDTO) {
         return Optional.ofNullable(dashboardUserDTO)
                 .map(item -> {
-                    
item.setPassword(ShaUtils.shaEncryption(item.getPassword()));
+                    
item.setPassword(DigestUtils.sha512Hex(item.getPassword()));
                     Integer createCount = 
dashboardUserService.createOrUpdate(item);
                     return 
ShenyuAdminResult.success(ShenyuResultMessage.CREATE_SUCCESS, createCount);
                 })
@@ -144,7 +144,7 @@ public class DashboardUserController {
                                                  @Valid @RequestBody final 
DashboardUserDTO dashboardUserDTO) {
         dashboardUserDTO.setId(id);
         if (StringUtils.isNotBlank(dashboardUserDTO.getPassword())) {
-            
dashboardUserDTO.setPassword(ShaUtils.shaEncryption(dashboardUserDTO.getPassword()));
+            
dashboardUserDTO.setPassword(DigestUtils.sha512Hex(dashboardUserDTO.getPassword()));
         }
         Integer updateCount = 
dashboardUserService.createOrUpdate(dashboardUserDTO);
         return ShenyuAdminResult.success(ShenyuResultMessage.UPDATE_SUCCESS, 
updateCount);
@@ -171,7 +171,7 @@ public class DashboardUserController {
         if (!userInfo.getUserId().equals(id) && 
!userInfo.getUserName().equals(dashboardUserModifyPasswordDTO.getUserName())) {
             return 
ShenyuAdminResult.error(ShenyuResultMessage.DASHBOARD_MODIFY_PASSWORD_ERROR);
         }
-        
dashboardUserModifyPasswordDTO.setPassword(ShaUtils.shaEncryption(dashboardUserModifyPasswordDTO.getPassword()));
+        
dashboardUserModifyPasswordDTO.setPassword(DigestUtils.sha512Hex(dashboardUserModifyPasswordDTO.getPassword()));
         return ShenyuAdminResult.success(ShenyuResultMessage.UPDATE_SUCCESS, 
dashboardUserService.modifyPassword(dashboardUserModifyPasswordDTO));
     }
     
diff --git 
a/shenyu-admin/src/main/java/org/apache/shenyu/admin/listener/AbstractDataChangedListener.java
 
b/shenyu-admin/src/main/java/org/apache/shenyu/admin/listener/AbstractDataChangedListener.java
index dd426ce2e..7c01a682c 100644
--- 
a/shenyu-admin/src/main/java/org/apache/shenyu/admin/listener/AbstractDataChangedListener.java
+++ 
b/shenyu-admin/src/main/java/org/apache/shenyu/admin/listener/AbstractDataChangedListener.java
@@ -17,6 +17,7 @@
 
 package org.apache.shenyu.admin.listener;
 
+import org.apache.commons.codec.digest.DigestUtils;
 import org.apache.commons.collections4.CollectionUtils;
 import org.apache.shenyu.admin.service.AppAuthService;
 import org.apache.shenyu.admin.service.MetaDataService;
@@ -32,7 +33,6 @@ import org.apache.shenyu.common.dto.SelectorData;
 import org.apache.shenyu.common.enums.ConfigGroupEnum;
 import org.apache.shenyu.common.enums.DataEventTypeEnum;
 import org.apache.shenyu.common.utils.GsonUtils;
-import org.apache.shenyu.common.utils.Md5Utils;
 import org.slf4j.Logger;
 import org.slf4j.LoggerFactory;
 import org.springframework.beans.factory.InitializingBean;
@@ -214,7 +214,7 @@ public abstract class AbstractDataChangedListener 
implements DataChangedListener
      */
     protected <T> void updateCache(final ConfigGroupEnum group, final List<T> 
data) {
         String json = GsonUtils.getInstance().toJson(data);
-        ConfigDataCache newVal = new ConfigDataCache(group.name(), json, 
Md5Utils.md5(json), System.currentTimeMillis());
+        ConfigDataCache newVal = new ConfigDataCache(group.name(), json, 
DigestUtils.md5Hex(json), System.currentTimeMillis());
         ConfigDataCache oldVal = CACHE.put(newVal.getGroup(), newVal);
         LOG.info("update config cache[{}], old: {}, updated: {}", group, 
oldVal, newVal);
     }
diff --git 
a/shenyu-admin/src/main/java/org/apache/shenyu/admin/service/impl/DashboardUserServiceImpl.java
 
b/shenyu-admin/src/main/java/org/apache/shenyu/admin/service/impl/DashboardUserServiceImpl.java
index f01464388..c6c475420 100644
--- 
a/shenyu-admin/src/main/java/org/apache/shenyu/admin/service/impl/DashboardUserServiceImpl.java
+++ 
b/shenyu-admin/src/main/java/org/apache/shenyu/admin/service/impl/DashboardUserServiceImpl.java
@@ -46,7 +46,7 @@ import org.apache.shenyu.admin.utils.JwtUtils;
 import org.apache.shenyu.admin.utils.ListUtil;
 import org.apache.shenyu.admin.utils.SessionUtil;
 import org.apache.shenyu.common.constant.AdminConstants;
-import org.apache.shenyu.common.utils.ShaUtils;
+import org.apache.shenyu.common.utils.DigestUtils;
 import org.slf4j.Logger;
 import org.slf4j.LoggerFactory;
 import org.springframework.ldap.NameNotFoundException;
@@ -305,7 +305,7 @@ public class DashboardUserServiceImpl implements 
DashboardUserService {
                     RoleDO role = roleMapper.findByRoleName("default");
                     DashboardUserDTO dashboardUserDTO = 
DashboardUserDTO.builder()
                             .userName(userName)
-                            .password(ShaUtils.shaEncryption(password))
+                            .password(DigestUtils.sha512Hex(password))
                             .role(1)
                             .roles(Lists.newArrayList(role.getId()))
                             .enabled(true)
@@ -324,7 +324,7 @@ public class DashboardUserServiceImpl implements 
DashboardUserService {
     }
     
     private DashboardUserVO loginByDatabase(final String userName, final 
String password) {
-        return findByQuery(userName, ShaUtils.shaEncryption(password));
+        return findByQuery(userName, DigestUtils.sha512Hex(password));
     }
     
     /**
diff --git 
a/shenyu-admin/src/test/java/org/apache/shenyu/admin/mapper/DashboardUserMapperTest.java
 
b/shenyu-admin/src/test/java/org/apache/shenyu/admin/mapper/DashboardUserMapperTest.java
index f8492fcc3..5ecd1bbc1 100644
--- 
a/shenyu-admin/src/test/java/org/apache/shenyu/admin/mapper/DashboardUserMapperTest.java
+++ 
b/shenyu-admin/src/test/java/org/apache/shenyu/admin/mapper/DashboardUserMapperTest.java
@@ -21,7 +21,7 @@ import org.apache.shenyu.admin.AbstractSpringIntegrationTest;
 import org.apache.shenyu.admin.model.entity.DashboardUserDO;
 import org.apache.shenyu.admin.model.page.PageParameter;
 import org.apache.shenyu.admin.model.query.DashboardUserQuery;
-import org.apache.shenyu.common.utils.ShaUtils;
+import org.apache.shenyu.common.utils.DigestUtils;
 import org.apache.shenyu.common.utils.UUIDUtils;
 import org.junit.jupiter.api.Test;
 
@@ -165,7 +165,7 @@ public final class DashboardUserMapperTest extends 
AbstractSpringIntegrationTest
         return DashboardUserDO.builder()
                 .id(UUIDUtils.getInstance().generateShortUuid())
                 .userName("adminTest")
-                .password(ShaUtils.shaEncryption("123456"))
+                .password(DigestUtils.sha512Hex("123456"))
                 .enabled(true)
                 .role(1)
                 .dateCreated(now)
diff --git 
a/shenyu-admin/src/test/java/org/apache/shenyu/admin/service/DashboardUserServiceTest.java
 
b/shenyu-admin/src/test/java/org/apache/shenyu/admin/service/DashboardUserServiceTest.java
index 9fb9aa6bc..ff5d3fd2c 100644
--- 
a/shenyu-admin/src/test/java/org/apache/shenyu/admin/service/DashboardUserServiceTest.java
+++ 
b/shenyu-admin/src/test/java/org/apache/shenyu/admin/service/DashboardUserServiceTest.java
@@ -36,7 +36,7 @@ import 
org.apache.shenyu.admin.service.impl.DashboardUserServiceImpl;
 import org.apache.shenyu.admin.service.publish.UserEventPublisher;
 import org.apache.shenyu.admin.utils.ListUtil;
 import org.apache.shenyu.admin.utils.SessionUtil;
-import org.apache.shenyu.common.utils.ShaUtils;
+import org.apache.shenyu.common.utils.DigestUtils;
 import org.junit.jupiter.api.Test;
 import org.junit.jupiter.api.extension.ExtendWith;
 import org.mockito.InjectMocks;
@@ -201,7 +201,7 @@ public final class DashboardUserServiceTest {
         ReflectionTestUtils.setField(dashboardUserService, "ldapTemplate", 
ldapTemplate);
         LoginDashboardUserVO loginDashboardUserVO = 
dashboardUserService.login(TEST_USER_NAME, TEST_PASSWORD);
         assertEquals(TEST_USER_NAME, loginDashboardUserVO.getUserName());
-        assertEquals(ShaUtils.shaEncryption(TEST_PASSWORD), 
loginDashboardUserVO.getPassword());
+        assertEquals(DigestUtils.sha512Hex(TEST_PASSWORD), 
loginDashboardUserVO.getPassword());
         
         // test loginByDatabase
         ReflectionTestUtils.setField(dashboardUserService, "ldapTemplate", 
null);
diff --git 
a/shenyu-common/src/main/java/org/apache/shenyu/common/utils/ShaUtils.java 
b/shenyu-common/src/main/java/org/apache/shenyu/common/utils/DigestUtils.java
similarity index 51%
rename from 
shenyu-common/src/main/java/org/apache/shenyu/common/utils/ShaUtils.java
rename to 
shenyu-common/src/main/java/org/apache/shenyu/common/utils/DigestUtils.java
index 2c4536acf..8fad0c861 100644
--- a/shenyu-common/src/main/java/org/apache/shenyu/common/utils/ShaUtils.java
+++ 
b/shenyu-common/src/main/java/org/apache/shenyu/common/utils/DigestUtils.java
@@ -17,38 +17,47 @@
 
 package org.apache.shenyu.common.utils;
 
-import java.security.MessageDigest;
-
-import java.util.Optional;
-
-import org.apache.commons.codec.binary.Hex;
 import org.apache.commons.lang3.StringUtils;
 import org.apache.shenyu.common.exception.ShenyuException;
 
+import java.util.Optional;
+
 /**
- * The type SHA utils.
+ * DigestUtils.
  */
-public class ShaUtils {
+public class DigestUtils {
 
     /**
-     * sh512 Encryption string.
-     *
-     * @param src the src
-     * @return the string
+     * Calculates the SHA-512 digest and returns the value as a hex string.
+     * if data is null or "" ,it will return null.
+     * @param data – Data to digest
+     * @return SHA-512 digest as a hex string.
      */
-    public static String shaEncryption(final String src) {
-        return Optional.ofNullable(src).map(item -> {
-            if (StringUtils.isEmpty(src)) {
-                return null;
-            }
+    public static String sha512Hex(final String data) {
+        return 
Optional.ofNullable(data).filter(StringUtils::isNoneEmpty).map(item -> {
             try {
-                MessageDigest messageDigest = 
MessageDigest.getInstance("SHA-512");
-                messageDigest.update(item.getBytes());
-                byte[] byteBuffer = messageDigest.digest();
-                return Hex.encodeHexString(byteBuffer);
+                return 
org.apache.commons.codec.digest.DigestUtils.sha512Hex(data);
             } catch (Exception e) {
                 throw new ShenyuException(e);
             }
         }).orElse(null);
     }
+
+    /**
+     * Calculates the MD5 digest and returns the value as a 32 character hex 
string.
+     * @param data  Data to digest
+     * @return MD5 digest as a hex string
+     */
+    public static String md5Hex(final String data) {
+        return org.apache.commons.codec.digest.DigestUtils.md5Hex(data);
+    }
+
+    /**
+     * Calculates the MD5 digest and returns the value as a 32 character hex 
string.
+     * @param data Data to digest
+     * @return MD5 digest as a hex string
+     */
+    public static String md5Hex(final byte[] data) {
+        return org.apache.commons.codec.digest.DigestUtils.md5Hex(data);
+    }
 }
diff --git 
a/shenyu-common/src/main/java/org/apache/shenyu/common/utils/Md5Utils.java 
b/shenyu-common/src/main/java/org/apache/shenyu/common/utils/Md5Utils.java
deleted file mode 100644
index a406705f9..000000000
--- a/shenyu-common/src/main/java/org/apache/shenyu/common/utils/Md5Utils.java
+++ /dev/null
@@ -1,80 +0,0 @@
-/*
- * Licensed to the Apache Software Foundation (ASF) under one or more
- * contributor license agreements.  See the NOTICE file distributed with
- * this work for additional information regarding copyright ownership.
- * The ASF licenses this file to You under the Apache License, Version 2.0
- * (the "License"); you may not use this file except in compliance with
- * the License.  You may obtain a copy of the License at
- *
- *     http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing, software
- * distributed under the License is distributed on an "AS IS" BASIS,
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- * See the License for the specific language governing permissions and
- * limitations under the License.
- */
-
-package org.apache.shenyu.common.utils;
-
-import org.apache.shenyu.common.exception.ShenyuException;
-import org.slf4j.Logger;
-import org.slf4j.LoggerFactory;
-
-import java.io.UnsupportedEncodingException;
-import java.nio.charset.StandardCharsets;
-import java.security.MessageDigest;
-import java.security.NoSuchAlgorithmException;
-
-/**
- * The type Md5 utils.
- */
-public class Md5Utils {
-    /**
-     * logger.
-     */
-    private static final Logger LOG = LoggerFactory.getLogger(Md5Utils.class);
-
-    /**
-     * Md 5 string.
-     *
-     * @param src     the src
-     * @param charset the charset
-     *
-     * @return the string
-     */
-    private static String md5(final String src, final String charset) {
-        MessageDigest md5;
-        StringBuilder hexValue = new StringBuilder(32);
-        try {
-            md5 = MessageDigest.getInstance("MD5");
-        } catch (NoSuchAlgorithmException e) {
-            throw new ShenyuException("MD5 not supported", e);
-        }
-        byte[] byteArray = new byte[0];
-        try {
-            byteArray = src.getBytes(charset);
-        } catch (UnsupportedEncodingException e) {
-            LOG.error(e.getMessage(), e);
-        }
-        byte[] md5Bytes = md5.digest(byteArray);
-        for (byte md5Byte : md5Bytes) {
-            int val = ((int) md5Byte) & 0xff;
-            if (val < 16) {
-                hexValue.append("0");
-            }
-            hexValue.append(Integer.toHexString(val));
-        }
-        return hexValue.toString();
-    }
-
-    /**
-     * Md 5 string.
-     *
-     * @param src the src
-     * @return the string
-     */
-    public static String md5(final String src) {
-        return md5(src, StandardCharsets.UTF_8.name());
-    }
-}
diff --git 
a/shenyu-common/src/main/java/org/apache/shenyu/common/utils/SignUtils.java 
b/shenyu-common/src/main/java/org/apache/shenyu/common/utils/SignUtils.java
index 98b9039dc..ae137c8bf 100644
--- a/shenyu-common/src/main/java/org/apache/shenyu/common/utils/SignUtils.java
+++ b/shenyu-common/src/main/java/org/apache/shenyu/common/utils/SignUtils.java
@@ -24,8 +24,6 @@ import java.util.Optional;
 import java.util.UUID;
 import java.util.stream.Collectors;
 
-import org.apache.commons.codec.digest.DigestUtils;
-
 /**
  * SignUtils.
  */
diff --git 
a/shenyu-common/src/test/java/org/apache/shenyu/common/utils/ShaUtilsTest.java 
b/shenyu-common/src/test/java/org/apache/shenyu/common/utils/DigestUtilsTest.java
similarity index 65%
rename from 
shenyu-common/src/test/java/org/apache/shenyu/common/utils/ShaUtilsTest.java
rename to 
shenyu-common/src/test/java/org/apache/shenyu/common/utils/DigestUtilsTest.java
index b4b203eab..dfd14d221 100644
--- 
a/shenyu-common/src/test/java/org/apache/shenyu/common/utils/ShaUtilsTest.java
+++ 
b/shenyu-common/src/test/java/org/apache/shenyu/common/utils/DigestUtilsTest.java
@@ -24,21 +24,25 @@ import org.junit.jupiter.params.provider.NullAndEmptySource;
 import static org.hamcrest.MatcherAssert.assertThat;
 import static org.hamcrest.Matchers.is;
 import static org.hamcrest.Matchers.nullValue;
+import static org.junit.jupiter.api.Assertions.assertEquals;
 
-/**
- * Test cases for ShaUtils.
- */
-public final class ShaUtilsTest {
-
+public class DigestUtilsTest {
     @Test
-    public void testShaEncryption() {
-        assertThat(ShaUtils.shaEncryption("123456"), 
is("ba3253876aed6bc22d4a6ff53d8406c6ad864195ed144ab5c87621b6c233b548baeae6956df346ec8c17f5ea10f35ee3cbc514797ed7ddd3145464e2a0bab413"));
+    public void testSha512Hex() {
+        assertThat(DigestUtils.sha512Hex("123456"),
+                
is("ba3253876aed6bc22d4a6ff53d8406c6ad864195ed144ab5c87621b6c233b548baeae6956df346ec8c17f5ea10f35ee3cbc514797ed7ddd3145464e2a0bab413"));
     }
 
     @ParameterizedTest
     @NullAndEmptySource
-    public void testShaEncryptionForNullOrEmpty(final String src) {
-        assertThat(ShaUtils.shaEncryption(src), nullValue());
+    public void testSha512HexForNullOrEmpty(final String src) {
+        assertThat(DigestUtils.sha512Hex(src), nullValue());
     }
-}
 
+    @Test
+    public void testMd5Hex() {
+        final String md5 = "e10adc3949ba59abbe56e057f20f883e";
+        assertEquals(md5, DigestUtils.md5Hex("123456"));
+    }
+
+}
diff --git 
a/shenyu-common/src/test/java/org/apache/shenyu/common/utils/Md5UtilsTest.java 
b/shenyu-common/src/test/java/org/apache/shenyu/common/utils/Md5UtilsTest.java
deleted file mode 100644
index eb3364d4d..000000000
--- 
a/shenyu-common/src/test/java/org/apache/shenyu/common/utils/Md5UtilsTest.java
+++ /dev/null
@@ -1,34 +0,0 @@
-/*
- * Licensed to the Apache Software Foundation (ASF) under one or more
- * contributor license agreements.  See the NOTICE file distributed with
- * this work for additional information regarding copyright ownership.
- * The ASF licenses this file to You under the Apache License, Version 2.0
- * (the "License"); you may not use this file except in compliance with
- * the License.  You may obtain a copy of the License at
- *
- *     http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing, software
- * distributed under the License is distributed on an "AS IS" BASIS,
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- * See the License for the specific language governing permissions and
- * limitations under the License.
- */
-
-package org.apache.shenyu.common.utils;
-
-import org.junit.jupiter.api.Test;
-
-import static org.junit.jupiter.api.Assertions.assertEquals;
-
-/**
- * Test cases for Md5Utils.
- */
-public final class Md5UtilsTest {
-
-    @Test
-    public void testMd5() {
-        final String md5 = "e10adc3949ba59abbe56e057f20f883e";
-        assertEquals(md5, Md5Utils.md5("123456"));
-    }
-}
diff --git 
a/shenyu-plugin/shenyu-plugin-cache/shenyu-plugin-cache-handler/src/main/java/org/apache/shenyu/plugin/cache/utils/CacheUtils.java
 
b/shenyu-plugin/shenyu-plugin-cache/shenyu-plugin-cache-handler/src/main/java/org/apache/shenyu/plugin/cache/utils/CacheUtils.java
index 96aab48ec..209698612 100644
--- 
a/shenyu-plugin/shenyu-plugin-cache/shenyu-plugin-cache-handler/src/main/java/org/apache/shenyu/plugin/cache/utils/CacheUtils.java
+++ 
b/shenyu-plugin/shenyu-plugin-cache/shenyu-plugin-cache-handler/src/main/java/org/apache/shenyu/plugin/cache/utils/CacheUtils.java
@@ -17,7 +17,7 @@
 
 package org.apache.shenyu.plugin.cache.utils;
 
-import org.apache.shenyu.common.utils.Md5Utils;
+import org.apache.commons.codec.digest.DigestUtils;
 import org.apache.shenyu.common.utils.Singleton;
 import org.apache.shenyu.plugin.cache.ICache;
 import org.springframework.web.server.ServerWebExchange;
@@ -45,7 +45,7 @@ public final class CacheUtils {
     public static String dataKey(final ServerWebExchange exchange) {
         //// todo 2022/3/16 current use the request path, maybe use the key 
from admin config.
         URI uri = exchange.getRequest().getURI();
-        return Md5Utils.md5(String.join(KEY_JOIN_RULE, uri.getQuery(), 
uri.getPath()));
+        return DigestUtils.md5Hex(String.join(KEY_JOIN_RULE, uri.getQuery(), 
uri.getPath()));
     }
 
     /**
diff --git 
a/shenyu-plugin/shenyu-plugin-logging/shenyu-plugin-logging-mask-api/src/main/java/org/apache/shenyu/plugin/logging/mask/api/spi/Md5EncryptDataMask.java
 
b/shenyu-plugin/shenyu-plugin-logging/shenyu-plugin-logging-mask-api/src/main/java/org/apache/shenyu/plugin/logging/mask/api/spi/Md5EncryptDataMask.java
index 3c144ed4e..8335850f4 100644
--- 
a/shenyu-plugin/shenyu-plugin-logging/shenyu-plugin-logging-mask-api/src/main/java/org/apache/shenyu/plugin/logging/mask/api/spi/Md5EncryptDataMask.java
+++ 
b/shenyu-plugin/shenyu-plugin-logging/shenyu-plugin-logging-mask-api/src/main/java/org/apache/shenyu/plugin/logging/mask/api/spi/Md5EncryptDataMask.java
@@ -17,7 +17,7 @@
 
 package org.apache.shenyu.plugin.logging.mask.api.spi;
 
-import org.apache.shenyu.common.utils.Md5Utils;
+import org.apache.shenyu.common.utils.DigestUtils;
 import org.apache.shenyu.spi.Join;
 
 /**
@@ -27,6 +27,6 @@ import org.apache.shenyu.spi.Join;
 public class Md5EncryptDataMask extends AbstractShenyuDataMask {
     @Override
     protected String doMask(final String source) {
-        return Md5Utils.md5(source);
+        return DigestUtils.md5Hex(source);
     }
 }
diff --git 
a/shenyu-plugin/shenyu-plugin-logging/shenyu-plugin-logging-mask-api/src/test/java/org/apache/shenyu/plugin/logging/mask/api/factory/DataMaskFactoryTest.java
 
b/shenyu-plugin/shenyu-plugin-logging/shenyu-plugin-logging-mask-api/src/test/java/org/apache/shenyu/plugin/logging/mask/api/factory/DataMaskFactoryTest.java
index f69e75ea8..d4bd0f1f7 100644
--- 
a/shenyu-plugin/shenyu-plugin-logging/shenyu-plugin-logging-mask-api/src/test/java/org/apache/shenyu/plugin/logging/mask/api/factory/DataMaskFactoryTest.java
+++ 
b/shenyu-plugin/shenyu-plugin-logging/shenyu-plugin-logging-mask-api/src/test/java/org/apache/shenyu/plugin/logging/mask/api/factory/DataMaskFactoryTest.java
@@ -17,7 +17,7 @@
 
 package org.apache.shenyu.plugin.logging.mask.api.factory;
 
-import org.apache.shenyu.common.utils.Md5Utils;
+import org.apache.shenyu.common.utils.DigestUtils;
 import org.apache.shenyu.plugin.logging.mask.api.enums.DataMaskEnums;
 import org.junit.jupiter.api.Assertions;
 import org.junit.jupiter.api.Test;
@@ -36,7 +36,7 @@ public class DataMaskFactoryTest {
         // test for md5
         String sourceData = "123456789";
         String maskedData = DataMaskFactory.selectMask(sourceData, 
DataMaskEnums.MD5_ENCRYPT.getDataMaskAlg());
-        Assertions.assertEquals(Md5Utils.md5(sourceData), maskedData);
+        Assertions.assertEquals(DigestUtils.md5Hex(sourceData), maskedData);
 
         // test for replacement
         String replaceText = DataMaskFactory.selectMask(sourceData, 
DataMaskEnums.CHARACTER_REPLACE.getDataMaskAlg());
diff --git 
a/shenyu-plugin/shenyu-plugin-logging/shenyu-plugin-logging-mask-api/src/test/java/org/apache/shenyu/plugin/logging/mask/api/spi/Md5EncryptDataMaskTest.java
 
b/shenyu-plugin/shenyu-plugin-logging/shenyu-plugin-logging-mask-api/src/test/java/org/apache/shenyu/plugin/logging/mask/api/spi/Md5EncryptDataMaskTest.java
index 94d5b4fdc..a080719af 100644
--- 
a/shenyu-plugin/shenyu-plugin-logging/shenyu-plugin-logging-mask-api/src/test/java/org/apache/shenyu/plugin/logging/mask/api/spi/Md5EncryptDataMaskTest.java
+++ 
b/shenyu-plugin/shenyu-plugin-logging/shenyu-plugin-logging-mask-api/src/test/java/org/apache/shenyu/plugin/logging/mask/api/spi/Md5EncryptDataMaskTest.java
@@ -17,7 +17,7 @@
 
 package org.apache.shenyu.plugin.logging.mask.api.spi;
 
-import org.apache.shenyu.common.utils.Md5Utils;
+import org.apache.shenyu.common.utils.DigestUtils;
 import org.junit.jupiter.api.Assertions;
 import org.junit.jupiter.api.Test;
 import org.junit.jupiter.api.extension.ExtendWith;
@@ -29,6 +29,6 @@ public class Md5EncryptDataMaskTest {
     @Test
     public void doMask() {
         Md5EncryptDataMask md5EncryptDataMask = new Md5EncryptDataMask();
-        Assertions.assertEquals(Md5Utils.md5("test"), 
md5EncryptDataMask.doMask("test"));
+        Assertions.assertEquals(DigestUtils.md5Hex("test"), 
md5EncryptDataMask.doMask("test"));
     }
 }
diff --git 
a/shenyu-plugin/shenyu-plugin-logging/shenyu-plugin-logging-mask-api/src/test/java/org/apache/shenyu/plugin/logging/mask/api/utils/DataMaskUtilsTest.java
 
b/shenyu-plugin/shenyu-plugin-logging/shenyu-plugin-logging-mask-api/src/test/java/org/apache/shenyu/plugin/logging/mask/api/utils/DataMaskUtilsTest.java
index 867a3b455..cda1c3f6d 100644
--- 
a/shenyu-plugin/shenyu-plugin-logging/shenyu-plugin-logging-mask-api/src/test/java/org/apache/shenyu/plugin/logging/mask/api/utils/DataMaskUtilsTest.java
+++ 
b/shenyu-plugin/shenyu-plugin-logging/shenyu-plugin-logging-mask-api/src/test/java/org/apache/shenyu/plugin/logging/mask/api/utils/DataMaskUtilsTest.java
@@ -18,8 +18,8 @@
 package org.apache.shenyu.plugin.logging.mask.api.utils;
 
 import org.apache.commons.collections4.CollectionUtils;
+import org.apache.shenyu.common.utils.DigestUtils;
 import org.apache.shenyu.common.utils.JsonUtils;
-import org.apache.shenyu.common.utils.Md5Utils;
 import org.apache.shenyu.plugin.logging.mask.api.enums.DataMaskEnums;
 import org.apache.shenyu.plugin.logging.mask.api.matcher.KeyWordMatch;
 import org.junit.jupiter.api.Assertions;
@@ -56,7 +56,7 @@ public class DataMaskUtilsTest {
 
         String maskedData = DataMaskUtils.maskSingleKeyword(true, "name", 
JSON_TEXT, keyWordMatch,
                 DataMaskEnums.MD5_ENCRYPT.getDataMaskAlg());
-        Assertions.assertEquals(Md5Utils.md5(JSON_TEXT), maskedData);
+        Assertions.assertEquals(DigestUtils.md5Hex(JSON_TEXT), maskedData);
     }
 
     @Test
@@ -66,7 +66,7 @@ public class DataMaskUtilsTest {
 
         String maskedData = DataMaskUtils.maskBody(true, JSON_TEXT, 
keyWordMatch, DataMaskEnums.MD5_ENCRYPT.getDataMaskAlg());
         Map<String, String> jsonMap = JsonUtils.jsonToMap(JSON_TEXT, 
String.class);
-        jsonMap.put("name", Md5Utils.md5(jsonMap.get("name")));
+        jsonMap.put("name", DigestUtils.md5Hex(jsonMap.get("name")));
         String jsonRet = JsonUtils.toJson(jsonMap);
         Assertions.assertEquals(jsonRet, maskedData);
 
@@ -78,7 +78,7 @@ public class DataMaskUtilsTest {
         DataMaskUtils.maskList(false, "name", list, keyWordMatch, 
DataMaskEnums.MD5_ENCRYPT.getDataMaskAlg());
         Assertions.assertTrue(CollectionUtils.isEqualCollection(list, list));
         DataMaskUtils.maskList(true, "name", list, keyWordMatch, 
DataMaskEnums.MD5_ENCRYPT.getDataMaskAlg());
-        List<String> md5List = Arrays.asList(Md5Utils.md5("name"), 
Md5Utils.md5("test"));
+        List<String> md5List = Arrays.asList(DigestUtils.md5Hex("name"), 
DigestUtils.md5Hex("test"));
         Assertions.assertTrue(CollectionUtils.isEqualCollection(md5List, 
list));
     }
 }
diff --git 
a/shenyu-web/src/main/java/org/apache/shenyu/web/filter/LocalDispatcherFilter.java
 
b/shenyu-web/src/main/java/org/apache/shenyu/web/filter/LocalDispatcherFilter.java
index a74f17b17..a242db231 100644
--- 
a/shenyu-web/src/main/java/org/apache/shenyu/web/filter/LocalDispatcherFilter.java
+++ 
b/shenyu-web/src/main/java/org/apache/shenyu/web/filter/LocalDispatcherFilter.java
@@ -18,7 +18,7 @@
 package org.apache.shenyu.web.filter;
 
 import org.apache.shenyu.common.constant.Constants;
-import org.apache.shenyu.common.utils.ShaUtils;
+import org.apache.shenyu.common.utils.DigestUtils;
 import org.springframework.http.HttpStatus;
 import org.springframework.web.reactive.DispatcherHandler;
 import org.springframework.web.server.ResponseStatusException;
@@ -58,7 +58,7 @@ public class LocalDispatcherFilter extends AbstractWebFilter {
     @Override
     protected Mono<Void> doFilter(final ServerWebExchange exchange) {
         String localKey = 
exchange.getRequest().getHeaders().getFirst(Constants.LOCAL_KEY);
-        if (Objects.isNull(sha512Key) || 
!sha512Key.equalsIgnoreCase(ShaUtils.shaEncryption(localKey)) || 
Objects.isNull(localKey)) {
+        if (Objects.isNull(sha512Key) || 
!sha512Key.equalsIgnoreCase(DigestUtils.sha512Hex(localKey)) || 
Objects.isNull(localKey)) {
             return Mono.error(new 
ResponseStatusException(HttpStatus.FORBIDDEN, "The key is not correct."));
         }
         return dispatcherHandler.handle(exchange);
diff --git 
a/shenyu-web/src/test/java/org/apache/shenyu/web/filter/LocalDispatcherFilterTest.java
 
b/shenyu-web/src/test/java/org/apache/shenyu/web/filter/LocalDispatcherFilterTest.java
index d9d4627e6..4aabd06b3 100644
--- 
a/shenyu-web/src/test/java/org/apache/shenyu/web/filter/LocalDispatcherFilterTest.java
+++ 
b/shenyu-web/src/test/java/org/apache/shenyu/web/filter/LocalDispatcherFilterTest.java
@@ -17,7 +17,7 @@
 
 package org.apache.shenyu.web.filter;
 
-import org.apache.shenyu.common.utils.ShaUtils;
+import org.apache.shenyu.common.utils.DigestUtils;
 import org.junit.jupiter.api.BeforeEach;
 import org.junit.jupiter.api.Test;
 import org.junit.jupiter.api.extension.ExtendWith;
@@ -52,7 +52,7 @@ public class LocalDispatcherFilterTest {
     public void setup() {
         DispatcherHandler dispatcherHandler = mock(DispatcherHandler.class);
         when(dispatcherHandler.handle(any())).thenReturn(Mono.empty());
-        String sha512Key = ShaUtils.shaEncryption("123456");
+        String sha512Key = DigestUtils.sha512Hex("123456");
         localDispatcherFilter = new LocalDispatcherFilter(dispatcherHandler, 
sha512Key);
         webFilterChain = mock(WebFilterChain.class);
         when(webFilterChain.filter(any())).thenReturn(Mono.empty());

Reply via email to