Дополните ввод размером блока. Размер блока кодера Base 32 равен 5 битам, но для того, чтобы он оставался выровненным по байту, вам нужно обработать число, кратное 8, а наименьшее общее кратное равно 40.
Итак, теперь у вас есть 128-битный ввод для обработки в 40-битных блоках, и он не делится, поэтому вам придется округлять и дополнять последний блок нулевыми битами или какой-либо другой константой. Вам также нужно будет как-то сообщить декодеру количество используемых битов заполнения, чтобы он мог их удалить при декодировании.
Если вы посмотрите на стандарт Base-64, вы увидите, что, обрабатывая входные данные в блоках по 3, кодировщик может оставаться выровненным по байту и решает проблему заполнения, используя управляющие символы "=", которые сигнализируют дополнение к декодеру.
Таким образом, с 128 битами вы обнаружите, что после кодирования 3 блоков у вас осталось 8 битов, и вам потребуется вставить 32 бита заполнения для завершения последнего 40-битного блока.