У меня есть 56-битная двоичная строка, которую я хочу использовать в качестве секретного ключа для шифрования DES.
Я нашел следующий код на веб-сайте документации JCA.
byte[] desKeyData = { (byte)0x01, (byte)0x02, (byte)0x03,
(byte)0x04, (byte)0x05, (byte)0x06, (byte)0x07, (byte)0x08 };
DESKeySpec desKeySpec = new DESKeySpec(desKeyData);
SecretKeyFactory keyFactory = SecretKeyFactory.getInstance("DES");
SecretKey secretKey = keyFactory.generateSecret(desKeySpec);
Однако для ключа используется 8 байтов (вместо 7). Неясно, соответствует ли desKeyData[0] младшему или старшему значащему байту. Кроме того, возможно ли использовать 56-битную строку напрямую для создания массива байтов, который можно использовать для этой цели?