package com.eu.habbo.util; import java.util.Random; import java.util.concurrent.ThreadLocalRandom; public class HexUtils { private static final char[] HEX_ARRAY = "0123456789ABCDEF".toCharArray(); public static String toHex(byte[] bytes) { char[] hexChars = new char[bytes.length * 2]; for (int j = 0; j < bytes.length; j++) { int v = bytes[j] & 0xFF; hexChars[j * 2] = HEX_ARRAY[v >>> 4]; hexChars[j * 2 + 1] = HEX_ARRAY[v & 0x0F]; } return new String(hexChars); } public static byte[] toBytes(String hexString) { int len = hexString.length(); byte[] data = new byte[len / 2]; for (int i = 0; i < len; i += 2) { data[i / 2] = (byte) ((Character.digit(hexString.charAt(i), 16) << 4) + Character.digit(hexString.charAt(i+1), 16)); } return data; } public static String getRandom(int length){ Random r = ThreadLocalRandom.current(); StringBuilder sb = new StringBuilder(); while(sb.length() < length){ sb.append(Integer.toHexString(r.nextInt())); } return sb.toString().substring(0, length); } }