Library: Crypto
Package: CryptoCore
Header: Poco/Crypto/CryptoTransform.h
This interface represents the basic operations for cryptographic transformations to be used with a CryptoInputStream or a CryptoOutputStream.
Implementations of this class are returned by the Cipher class to perform encryption or decryption of data.
Member Functions: blockSize, finalize, transform
Creates a new CryptoTransform object.
 
 virtual ~CryptoTransform();
Destroys the CryptoTransform.
 
 virtual std::size_t blockSize() const = 0;
Returns the block size for this CryptoTransform.
 
 virtual std::streamsize finalize(
    unsigned char * output,
    std::streamsize length
) = 0;
Finalizes the transformation. The output buffer must contain enough space for at least one block, ie.
length >= bufferSize()
must be true. Returns the number of bytes written to the output buffer.
 
 virtual std::streamsize transform(
    const unsigned char * input,
    std::streamsize inputLength,
    unsigned char * output,
    std::streamsize outputLength
) = 0;
Transforms a chunk of data. The inputLength is arbitrary and does not need to be a multiple of the block size. The output buffer has a maximum capacity of the given outputLength that must be at least
inputLength + bufferSize() - 1
Returns the number of bytes written to the output buffer.