function
| Library: Blowfish (OMFFBLOWFISH) Import : omffblowfish.xmd | Returns: a writable output target for streaming data | 
export string sink function
      writer-decrypt          into value string sink        output-data
                          with-key value string             encryption-key
                     trimming-mode value trimming-mode-type trimming-mode optional
 Use blowfish.writer-decrypt to write decrypted data to its value string sink
      output-data argument, decrypted using its encryption-key argument. The encrypted data is
      written to the string sink returned by the blowfish.writer-decrypt function call.
      
 Note that the Blowfish algorithm processes data in 64-bit chunks. If the length of the input is not a multiple
      of 64 bits, it will be padded with null bytes. Similarly, the length of the data written
      to output-data by blowfish.writer-decrypt will be a multiple of 64 bits, and may
      therefore be null padded.
      
 The optional trimming-mode argument can be used to specify if the null padding should be
      removed. The default behavior is leave null bytes. If their trimming is desired, you should
      specify blowfish.null-trimming as the third argument.
      
 The following example uses blowfish.writer-decrypt to decrypt a cypher text, using the output of
        the string source function character-dump () to get its input.
          
import "omffblowfish.xmd" prefixed by blowfish. define string source function character-dump (value string source s) as using group "generate character dump" submit s process local string cypher-text initial { "0b 15 cf b6 30 3c 5b bf e8 ad 3b ee 31 ce 59 5f" } local string encryption-key initial { "TESTKEY" } using output as blowfish.writer-decrypt into #main-output with-key encryption-key trimming-mode blowfish.null-trimming output character-dump (cypher-text) || "%n" group "generate character dump" find ul["a" to "f" | digit]{2} => n output "b" % (n base 16) find white-space+ ; EMPTY find any => c not-reached message "An invalid character (" || c || ") was encountered in a hexadecimal stream."
 To use blowfish.writer-decrypt, you must import OMBLOWFISH into your program
      using an import declaration such as:
        
import "omffblowfish.xmd" prefixed by blowfish.