Каковы самые простые способы AES-шифрования и дешифрования 16-байтового массива без автоматического заполнения? Я нашел решения, использующие внешние библиотеки, но по возможности хочу этого избежать.
Мой текущий код -
SecretKeySpec skeySpec = new SecretKeySpec(getCryptoKeyByteArray(length=16)); // 128 bits
Cipher encryptor = Cipher.getInstance("AES");
encryptor.init(Cipher.ENCRYPT_MODE, skeySpec);
byte[] encrypted = encryptor.doFinal(plain);
Как я могу предотвратить заполнение? Простые данные
всегда имеют фиксированную длину и включают собственное заполнение. Как я могу сделать так, чтобы plain
составлял 16 байтов, не превращая encrypted
в 32 байта?