Вы можете использовать BigInteger для этого.
Пример:
(new BigInteger(1,bytes)).toString(16)
Вам нужно будет добавить '0' в начале.
Более элегантное решение (взято из здесь ):
BigInteger i = new BigInteger(1,bytes);
System.out.println(String.format("%1$06X", i));
Вам необходимо знать количество байтов заранее, чтобы использовать правильный форматер.