From a19ae0c3cde262dc4d60bc6254ccdc13532ce569 Mon Sep 17 00:00:00 2001 From: Henning Baldersheim Date: Fri, 7 May 2021 19:22:39 +0200 Subject: Add ByteBuffer as interface. --- .../main/java/com/yahoo/vespa/config/util/ConfigUtils.java | 13 ++++++++++--- 1 file changed, 10 insertions(+), 3 deletions(-) (limited to 'config/src') diff --git a/config/src/main/java/com/yahoo/vespa/config/util/ConfigUtils.java b/config/src/main/java/com/yahoo/vespa/config/util/ConfigUtils.java index 8f856ff4771..a7fc8afcad9 100644 --- a/config/src/main/java/com/yahoo/vespa/config/util/ConfigUtils.java +++ b/config/src/main/java/com/yahoo/vespa/config/util/ConfigUtils.java @@ -6,8 +6,8 @@ import com.yahoo.io.HexDump; import com.yahoo.io.IOUtils; import com.yahoo.net.HostName; import com.yahoo.slime.JsonFormat; +import com.yahoo.text.AbstractUtf8Array; import com.yahoo.text.Utf8; -import com.yahoo.text.Utf8Array; import com.yahoo.vespa.config.ConfigDefinitionKey; import com.yahoo.vespa.config.ConfigPayload; @@ -17,6 +17,7 @@ import java.io.IOException; import java.io.LineNumberReader; import java.io.Reader; import java.io.StringReader; +import java.nio.ByteBuffer; import java.nio.charset.StandardCharsets; import java.security.MessageDigest; import java.security.NoSuchAlgorithmException; @@ -69,8 +70,8 @@ public class ConfigUtils { return getMd5(input.getBytes(StandardCharsets.UTF_8)); } - public static String getMd5(Utf8Array input) { - return getMd5(input.getBytes()); + public static String getMd5(AbstractUtf8Array input) { + return getMd5(input.wrap()); } public static String getMd5(byte[] input) { @@ -79,6 +80,12 @@ public class ConfigUtils { return HexDump.toHexString(md5.digest()).toLowerCase(); } + public static String getMd5(ByteBuffer input) { + MessageDigest md5 = getMd5Instance(); + md5.update(input); + return HexDump.toHexString(md5.digest()).toLowerCase(); + } + private static MessageDigest getMd5Instance() { try { return MessageDigest.getInstance("MD5"); -- cgit v1.2.3