The maxon::StreamConversionInterface provides a generic interface for any kind of data conversion. This includes string encoding, compression, encryption, hashing etc.
maxon::StreamConversionInterface is used to convert the given source data. The result of this conversion is typically stored in a given array.
A given conversion instance can be converted to an input stream. See InputStream Manual.
Various properties of the given conversion type can be accessed with:
Existing conversions are registered at the registry maxon::StreamConversions or presented as published objects. Some conversions can be configured by defining some settings in a maxon::DataDictionary that is used with the Create() function (maxon::StreamConversionFactory).
Arbitrary data can be converted to a hexadecimal representation:
See also maxon::GetHexadecimalValue().
Text can be converted to different Unicode encodings. See maxon::UTFTEXT_OPTIONS.
Additional string conversions are registered at maxon::StringEncodings and maxon::StringDecodings, see stringencoding.h. For string conversions there are also maxon::StringEncodingInterface and maxon::StringDecodingInterface.
Arbitrary data can be converted to a Base64 representation. See maxon::BASE64_OPTIONS.
Arbitrary data can be encrypted using these algorithms:
The cryptographic key is set as maxon::CryptographyOptions::CRYPTOKEY using maxon::CryptoKeyInterface. To pad a data block with arbitrary data use maxon::SecureRandom.
Encryption algorithms can also be used with the specialized maxon::CryptographyStreamConversionInterface.
Hash values for arbitrary data are calculated with these algorithms:
For easily handling passwords and hash strings see
Arbitrary data can be compressed using these algorithms. See datacompression.h: