Гость
Целевая тема:
Создать новую тему:
Автор:
Форумы / Java [игнор отключен] [закрыт для гостей] / AES CBC Encrypt / 5 сообщений из 5, страница 1 из 1
21.08.2018, 09:46
    #39690814
vlad2018
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
AES CBC Encrypt
Доброго времени суток!
Подскажите, как можно изменить IV c 16 байт на 32? потому как при увеличении получаю ошибку: Wrong IV length: must be 16 bytes long и мне необходима длина ключа 192 символа, а получаю я его гораздо большей длины...
Код: java
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
13.
14.
15.
16.
17.
 private static byte[] iv = "0000000000000000".getBytes();


    public static String encrypt(String content, String key) throws Exception {
        byte[] input = content.getBytes("utf-8");

        MessageDigest md = MessageDigest.getInstance("SHA-256");
        byte[] thedigest = md.digest(key.getBytes("utf-8"));
        SecretKeySpec skc = new SecretKeySpec(thedigest, "AES");
        Cipher cipher = Cipher.getInstance("AES/CBC/PKCS5Padding");
        cipher.init(Cipher.ENCRYPT_MODE, skc, new IvParameterSpec(iv));

        byte[] cipherText = new byte[cipher.getOutputSize(input.length)];
        int ctLength = cipher.update(input, 0, input.length, cipherText, 0);
        ctLength += cipher.doFinal(cipherText, ctLength);
        return DatatypeConverter.printHexBinary(cipherText);
    }
...
Рейтинг: 0 / 0
21.08.2018, 13:44
    #39691041
Dimitry Sibiryakov
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
AES CBC Encrypt
vlad2018Подскажите, как можно изменить IV c 16 байт на 32?
Никак. У AES фиксированный 16-ти байтовый блок шифрования. И вообще IV не имеет никакого отношения к ключу от слова "совсем".
...
Рейтинг: 0 / 0
22.08.2018, 14:31
    #39691775
vlad2018
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
AES CBC Encrypt
Dimitry Sibiryakovvlad2018Подскажите, как можно изменить IV c 16 байт на 32?
Никак. У AES фиксированный 16-ти байтовый блок шифрования. И вообще IV не имеет никакого отношения к ключу от слова "совсем".
Спасибо! А подскажите, можно ли получить ключ другой длины, потому как уже много пересмотрел и не могу найти т.е. у меня на выходе ключ длиной 416 байт, а мне необходимо 192
...
Рейтинг: 0 / 0
22.08.2018, 14:35
    #39691781
vlad2018
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
AES CBC Encrypt
vlad2018,
416 символом
...
Рейтинг: 0 / 0
23.08.2018, 14:07
    #39692414
Dimitry Sibiryakov
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
AES CBC Encrypt
Ключи идут на входе, а не выходе.

Как ты сократишь имеющееся у тебя на входе до 192 бит - сугубо на твою фантазию. Лично я не парясь беру первые байты в нужном количестве.
...
Рейтинг: 0 / 0
Форумы / Java [игнор отключен] [закрыт для гостей] / AES CBC Encrypt / 5 сообщений из 5, страница 1 из 1
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


Просмотр
0 / 0
Close
Debug Console [Select Text]