У меня возникают проблемы с ключами AES в JavaAES пользовательский ключ вместо 16, 24 или 32 байт
Это мой код:
public Core(String key) {
try {
this.SecretKey = key;
this.ivspec = new IvParameterSpec(this.iv.getBytes());
this.keyspec = new SecretKeySpec(SecretKey.getBytes("UTF-8"), "AES");
try {
this.cipher = Cipher.getInstance("AES/CBC/NoPadding");
} catch (Exception e) {
e.printStackTrace();
}
} catch (UnsupportedEncodingException e) {
e.printStackTrace();
}
}
Всякий раз, когда я прохожу «ключ» Строка, которая содержит для пример Pizza
, он просто порождает ошибки. Когда я передаю, например, строку, содержащую ровно 16 байтов, она работает. Я хотел бы использовать AES, но мне не хотелось бы ограничиваться только 16, 24 или 32 байтами. Как я могу это исправить.
Меня попросил криптовалют SME: «Почему вы хотите использовать нестандартные размеры ключа? – zaph