X-Git-Url: https://git.nmode.ca/signal-cli/blobdiff_plain/a5aeec8902b04f46cc9a3366f7d21ee38ae7de52..7c9fd9d0fb7b303e8194a6de9aed852c488afc25:/src/main/java/org/asamk/signal/util/Hex.java diff --git a/src/main/java/org/asamk/signal/util/Hex.java b/src/main/java/org/asamk/signal/util/Hex.java index 623c5cf8..596f23a9 100644 --- a/src/main/java/org/asamk/signal/util/Hex.java +++ b/src/main/java/org/asamk/signal/util/Hex.java @@ -2,14 +2,29 @@ package org.asamk.signal.util; public class Hex { - private final static char[] HEX_DIGITS = { - '0', '1', '2', '3', '4', '5', '6', '7', '8', '9', 'a', 'b', 'c', 'd', 'e', 'f' - }; + private final static char[] HEX_DIGITS = {'0', '1', '2', '3', '4', '5', '6', '7', '8', '9', 'a', 'b', 'c', 'd', 'e', 'f'}; + + private Hex() { + } + + public static String toString(byte[] bytes) { + if (bytes.length == 0) { + return ""; + } + + var buf = new StringBuffer(); + for (final var aByte : bytes) { + appendHexChar(buf, aByte); + buf.append(" "); + } + buf.deleteCharAt(buf.length() - 1); + return buf.toString(); + } public static String toStringCondensed(byte[] bytes) { - StringBuffer buf = new StringBuffer(); - for (int i = 0; i < bytes.length; i++) { - appendHexChar(buf, bytes[i]); + var buf = new StringBuffer(); + for (final var aByte : bytes) { + appendHexChar(buf, aByte); } return buf.toString(); } @@ -17,13 +32,12 @@ public class Hex { private static void appendHexChar(StringBuffer buf, int b) { buf.append(HEX_DIGITS[(b >> 4) & 0xf]); buf.append(HEX_DIGITS[b & 0xf]); - buf.append(" "); } public static byte[] toByteArray(String s) { - int len = s.length(); - byte[] data = new byte[len / 2]; - for (int i = 0; i < len; i += 2) { + var len = s.length(); + var data = new byte[len / 2]; + for (var i = 0; i < len; i += 2) { data[i / 2] = (byte) ((Character.digit(s.charAt(i), 16) << 4) + Character.digit(s.charAt(i + 1), 16)); } return data;