Во-первых, вы должны использовать AES, поскольку это стандарт де-факто.
AES шифрует байты с размерами блоков 16 байтов. Очевидно, что это прекрасно работает для любого большого объема данных. Но последний бит, очевидно, может быть меньше 16 байтов.
Для последнего блока вам нужно его дополнить, и типичное заполнение выполняется через PCKS7, что довольно просто.
Допустим, у вас есть строка: "icecream" в качестве последнего блока.
"icecream"
- это 8 байтов, поэтому вам нужно еще 8 байтов, чтобы сделать блок
Итак, вы просто добавляете символ 8 (не «8») 8 раз
"icecream\x08\x08\x08\x08\x08\x08\x08\x08"
Будет вашей результирующей строкой. Теперь вы можете зашифровать данные.
Помните, что при расшифровке вам нужно будет перехватить этот последний блок и убрать отступ перед использованием.