Полагаю, вам нужен кто-то еще, чтобы прочитать ваши зашифрованные данные, а затем понять только такой тип заполнения.
Как вы, наверное, знаете, PKCS5 объясняется как:
Заполнение PKCS # 5 работает следующим образом: байты, остающиеся для заполнения блока, назначаются числом, которое является количеством байтов, которые были добавлены для заполнения блока.Например, если у нас есть 16-байтовый блок, и только 11 байтов заполнены, то у нас есть 5 байтов для заполнения.Всем этим 5 байтам присваивается значение «5» для 5 байтов заполнения.
Итак, у вас есть информация - закодируйте строку в byte [], расширьте ее так, чтобы она выровнялась по16 байтов, а остальное заполнить согласно рецептуре.Затем зашифруйте с помощью Padding.None.
Думаю, это не должно быть так хлопотно.В любом случае, строковое шифрование отсутствует, так как вы все равно кодируете материал в byte [], ...
string message="lorem ipsum and stuff";
byte[] result=Text.Encode(message);
int packets=result.Length/16;
int paddingSize=16-(result.Length-(packets*16));
if (paddingSize!=16)
{
byte[] newbuffer=new byte[result.Length+paddingSize];
packets.CopyTo(newbuffer);
for (int n=result.Length;n<newbuffer.Length;n++)
{
newbuffer[n]=16-paddingsize;
}
}
// then, encrypt result or newbuffer, depending on if padding is 16 or not
ПРИМЕЧАНИЕ: код у меня в голове, он вообще не работает ...