BigInteger.toString (16) выполняет работу, но иногда количество байтов гексагона варьируется. Мне нужно ровно 512 байт hex каждый раз. Я также пробовал использовать Hex и DataTypeConverter от Apache и многое другое. Но никто не гарантирует эту последовательность. Есть ли какая-либо другая библиотека Java для генерации шестнадцатеричной фиксированной длины из заданного BigInteger?Как преобразовать BigInteger в Hex фиксированной длины?
PS: Я просмотрел stackoverflow перед публикацией, но не нашел обсуждения, посвященного проблеме с фиксированной длиной.
Вы пробовали формат типа ''% 0512x "'? –
Я думаю, вы имеете в виду «символы», а не «байты». И, конечно, 512 шестнадцатеричных символов много, но как бы вы гарантировали, что длина, если значение на самом деле слишком велико, чтобы вписаться в 512 символов? – GhostCat
@GhostCat на самом деле это hex из privateKey-экспонента, длина бит которого около 2048. Вот почему он большой. – Pratap