Encoder

Usage

Using the Encoder utility, you can decode and encode the input messages and, for example, provide them with a checksum or change the character set while doing so:

  • Encoding of data is necessary when the data must be available for e-mail transfers or XML representations in an ASCII-based representation, for example.

  • During decoding, the data is converted back into its original format.

Encoder Properties Dialog

In this dialog, you define the way the Encoder utility works.

Input data configuration

  • Input data from XML

    If the input data is XML formatted, you can also allow individual elements to be encoded and decoded: Enter the XPath to the XML element whose content is to be encoded/decoded. If you have a sample input file, click the button to load the file and navigate to the XML element. The XPath is created automatically in the process.

  • Character encoding

    Only active if the algorithm Character conversion or URL is selected. Select a character encoding from the list.

Operation

  • Choose action

    Select whether the input data is to be encoded or decoded.

  • Choose algorithm

    The following processes are available for selection:

    • Character conversion: When this option is selected, you can select character conversion for the output data.

    • base64: base64 encoding is used to transfer binary data using technologies that cannot cleanly transfer 8-bit, such as e-mail.

      The binary character strings are converted into text character strings that can be easily sent via e-mail or used as part of an HTTP POST request. base64 uses a subset of the ASCII character set; the encoded lines must be exactly 64 printable lines long. Encoding causes the space requirements of the data to increase by 25 %.

    • MIME-base64: This process is based on base64 encoding, but does not define a fixed length for base64-encoded lines. Only the maximum length has a fixed definition of 76 characters.

    • hex: This algorithm converts binary data into a series of hexadecimal numbers.

    • URL: URL encoding is necessary when input messages are to be sent as HTTP requests or HTTP responses. Since only a subset of the US-ASCII character set may be used in HTTP communication, all characters that are not contained in this subset are replaced by what are known as escape sequences. For example, spaces are replaced with sequence %20.

      Using the following algorithms, you can create checksums with which the integrity of messages can be checked. In order to determine whether a message was changed or damaged, the current checksum of the message is compared with a known, previously generated sum. The checksum is transferred at the end of the message. The following algorithms are available for selection:

    • MD5: A widely used cryptographic function that generates a 128-bit checksum from any data. MD5 sums are used by PGP, among others. To provide the input message to the next module in the workflow, the Set input message additionally as output message option can be activated.

    • SHA1: A cryptographic function that generates a 160-bit checksum from any data.

    • SHA-224, SHA-256, SHA-384, SHA-512, and SHA3-512: Cryptographic functions that belong to the SHA-2 family of hash algorithms and reduce the risk of conflict through better algorithms.

    • CRC-32: This option creates a 32-bit CRC checksum for the input message. To provide the input message to the next module in the workflow, the Set input message additionally as output message option can be activated.

Output data configuration

  • Character encoding

    Only active if Encode is selected as the action and Character conversion is selected as the algorithm. Select a character encoding from the list to specify the character set with which the output data is to be output.

  • Set input message additionally as output message

    Only available if Encode is selected as the action and MD5, SHA1, SHA-224, SHA-256, SHA-384, SHA-512, SHA3-512, or CRC-32 is selected as the algorithm.

    This option allows you to output the input stream instead of the checksum for the above algorithms. The checksum is then stored only in the variable Encoder.xxx, and the output contains the input stream.