]>
nmode's Git Repositories - signal-cli/blob - src/main/java/org/asamk/signal/util/Hex.java
596f23a96a64c658de0490432bd5fc7a107df2cd
1 package org
.asamk
.signal
.util
;
5 private final static char[] HEX_DIGITS
= {'0', '1', '2', '3', '4', '5', '6', '7', '8', '9', 'a', 'b', 'c', 'd', 'e', 'f'};
10 public static String
toString(byte[] bytes
) {
11 if (bytes
.length
== 0) {
15 var buf
= new StringBuffer();
16 for (final var aByte
: bytes
) {
17 appendHexChar(buf
, aByte
);
20 buf
.deleteCharAt(buf
.length() - 1);
21 return buf
.toString();
24 public static String
toStringCondensed(byte[] bytes
) {
25 var buf
= new StringBuffer();
26 for (final var aByte
: bytes
) {
27 appendHexChar(buf
, aByte
);
29 return buf
.toString();
32 private static void appendHexChar(StringBuffer buf
, int b
) {
33 buf
.append(HEX_DIGITS
[(b
>> 4) & 0xf]);
34 buf
.append(HEX_DIGITS
[b
& 0xf]);
37 public static byte[] toByteArray(String s
) {
39 var data
= new byte[len
/ 2];
40 for (var i
= 0; i
< len
; i
+= 2) {
41 data
[i
/ 2] = (byte) ((Character
.digit(s
.charAt(i
), 16) << 4) + Character
.digit(s
.charAt(i
+ 1), 16));