Размер текста шифра Java AES
Я использую очень стандартный способ шифрования / дешифрования Java AES.
byte[] key = hexStringToByteArray("C0C1C2C3C4C5C6C7C8C9CACBCCCDCECF");
byte[] message = hexStringToByteArray("01A0A1A2A3A4A5A6A703020100060001");
SecretKeySpec secretKeySpec = new SecretKeySpec(key, "AES");
// Instantiate the cipher
Cipher cipher = Cipher.getInstance("AES");
cipher.init(Cipher.ENCRYPT_MODE, secretKeySpec);
byte[] encrypted = cipher.doFinal(message);
cipher.init(Cipher.DECRYPT_MODE, secretKeySpec);
byte[] original = cipher.doFinal(encrypted);
Как вы можете видеть, ям, используя 128-битный ключ и 128-битное сообщение. Я всегда получаю ожидаемый результат, однако зашифрованный результат всегда имеет длину 256 бит. Вторые 128 бит всегда одинаковы. Кроме усечения результата, как я могу гарантировать, что шифр вернет только первые 128 бит без изменения первых 128 бит? Я чувствую, что яЗдесь мы перепутали определение размера блока.