
Шифрую поток памяти в файловый поток. При расшифровке в конце файла получаются нули.
В хелпе пишут, что алгоритм пишет по 4 байта, может с этим связано? Но в конце получается и например шесть NUL.

Data is always written 4 bytes at a time, since this is the amount of bytes required by the Blowfish algorithm. If no multiple of 4 was written to the destination stream, the Flush mechanism can be used to write the remaining bytes.
Как бы избавиться от этих нулей?
з.ы. Пока придумал расшифровывать в TStringStream, его копировать в TStringList, а там уже смотреть каждую строку и удалять нули. Но в итоге мне нужен TMemoryStream и я TStringList копирую в него. Получается какая-то длинная цепочка.
TBlowFishDeCryptStream -> TStringStream -> TStringList -> TMemoryStream