From e777aec8ade18d55836de5bc9a048504105df85c Mon Sep 17 00:00:00 2001 From: 1619khz <37778292+i1619khz@users.noreply.github.com> Date: Sat, 18 Jun 2022 20:42:41 +0800 Subject: [PATCH] fix: remove guava (#280) MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit * refactor:replace guava's HashFunction with md5 function that only depends on jdk * chore: remove guava Co-authored-by: 1619khz --- pom.xml | 7 ------- .../java/org/casbin/jcasbin/util/Util.java | 21 ++++++++++++------- 2 files changed, 13 insertions(+), 15 deletions(-) diff --git a/pom.xml b/pom.xml index 9620e1fc..651f719b 100644 --- a/pom.xml +++ b/pom.xml @@ -223,13 +223,6 @@ gson 2.9.0 - - - com.google.guava - guava - 31.1-jre - - diff --git a/src/main/java/org/casbin/jcasbin/util/Util.java b/src/main/java/org/casbin/jcasbin/util/Util.java index 2b24042b..208a3fb0 100644 --- a/src/main/java/org/casbin/jcasbin/util/Util.java +++ b/src/main/java/org/casbin/jcasbin/util/Util.java @@ -14,9 +14,6 @@ package org.casbin.jcasbin.util; -import com.google.common.hash.HashCode; -import com.google.common.hash.HashFunction; -import com.google.common.hash.Hashing; import org.apache.commons.csv.CSVFormat; import org.apache.commons.csv.CSVParser; import org.apache.commons.csv.CSVRecord; @@ -25,7 +22,9 @@ import java.io.IOException; import java.io.StringReader; -import java.nio.charset.Charset; +import java.nio.charset.StandardCharsets; +import java.security.MessageDigest; +import java.security.NoSuchAlgorithmException; import java.util.ArrayList; import java.util.Collections; import java.util.List; @@ -42,8 +41,7 @@ public class Util { private static Logger LOGGER = LoggerFactory.getLogger("org.casbin.jcasbin"); - private static HashFunction hf = Hashing.md5(); - private static Charset defaultCharset = Charset.forName("UTF-8"); + private static final String md5AlgorithmName = "MD5"; /** * logPrint prints the log. @@ -290,7 +288,14 @@ public static String replaceEval(String s, String replacement) { } public static String md5(String data) { - HashCode hash = hf.newHasher().putString(data, defaultCharset).hash(); - return hash.toString(); + return new String(getDigest(md5AlgorithmName).digest(data.getBytes(StandardCharsets.UTF_8))); + } + + private static MessageDigest getDigest(String algorithm) { + try { + return MessageDigest.getInstance(algorithm); + } catch (NoSuchAlgorithmException e) { + throw new IllegalArgumentException(e); + } } }