Потеря бита при преобразовании из байтового массива в шестнадцатеричный - PullRequest
0 голосов
/ 07 февраля 2019

Мне удалось сгенерировать 256-битный ключ с CipherKeyGenerator, но при преобразовании результата (в byte []) в шестнадцатеричный код я получил 64 байта, что нормально, но при преобразовании этих байтов в биты у меня только 255 бит иЯ не знаю, откуда эта потеря.

Я пробовал несколько методов кодирования для переключения с байтового массива на шестнадцатеричный, но всегда с одним и тем же результатом.Я предположил связь с LSB или что-то в этом роде.

KeyGenerationParameters param = new KeyGenerationParameters(new SecureRandom(), 256);

CipherKeyGenerator KeyGen = new CipherKeyGenerator();
KeyGen.init(param);                             
byte[] KeyByte = KeyGen.generateKey();

String KeyHex = DatatypeConverter.printHexBinary(KeyByte);
System.out.println("Your key is : " + KeyHex);

Есть ли у кого-то идеи о том, что происходит?Спасибо за ваш совет!

...