Мне нужно зашифровать файл с помощью AES, с размером блока CBC 16 байт и ключом 256 бит. И файл должен быть дополнен нулями до кратного 16 байтам. И после шифрования файла количество заполненных нулей необходимо добавить в конец.
Например, если у меня есть файл размером 9 байт, будут добавлены 7 нулевых байтов. 16 байтов будут зашифрованы, а затем к концу будет добавлена длина прочитанных данных, равная 9. Таким образом, общая длина должна составлять 17 байтов, причем последний байт не зашифрован.
Я использую класс Cipher и знаю, что нужно использовать "AES/CBC/", но я не знаю, есть ли метод заполнения, описывающий то, что я хочу.
РЕДАКТИРОВАТЬ: последний байт должен указывать, сколько байтов являются реальными данными в последней 16-байтовой заполненной ячейке.