Convert binary octets into ascii armoured messages.
my $converter = new Convert::ASCII::Armour; my $message = $converter->armour( Object => "FOO RECORD", Headers => { Table => "FooBar", Version => "1.23", }, Content => { Key => "0x8738FA7382", Name => "Zoya Hall", Pic => "....", # gif }, Compress => 1, ); print $message; -----BEGIN COMPRESSED FOO RECORD----- Version: 1.23 Table: FooBar eJwzZzA0Z/BNLS5OTE8NycgsVgCiRIVciIAJg6EJg0tiSaqhsYJvYlFy... XnpOZl5qYlJySmpaekZmVnZObl5+QWFRcUlpWXlFZRWXAk7g6OTs4urm... Fh4VGaWAR5ehkbGJqZm5hSUeNXWKDsoGcWpaGpq68bba0dWxtTVmDOYM... NzuZ =MxpZvjkrv5XyhkVCuXmsBQ== -----END COMPRESSED FOO RECORD----- my $decoded = $converter->unarmour( $message ) || die $converter->errstr();
This module converts hashes of binary octets into \s-1ASCII\s0 messages suitable for transfer over 6-bit clean transport channels. The encoded \s-1ASCII\s0 resembles \s-1PGP\s0's armoured messages, but are in no way compatible with \s-1PGP\s0.
Constructor.
Converts a hash of binary octets into an \s-1ASCII\s0 encoded message. The encoded message has 4 parts: head and tail strings that act as identifiers and delimiters, a cluster of headers at top of the message, Base64 encoded message body and a Base64 encoded \s-1MD5\s0 digest of the message body. armour() takes a hash as argument with following keys:
An identification string embedded in head and tail strings.
Content is a hashref that contains the binary octets to be encoded. This hash is serialized, compressed (if specified) and encoded into \s-1ASCII\s0 with MIME::Base64. The result is the body of the encoded message.
Headers is a hashref that contains \s-1ASCII\s0 headers that are placed at top of the encoded message. Headers are encoded as \s-1RFC822\s0 headers.
A boolean parameter that forces armour() to compress the message body.
Decodes an armoured \s-1ASCII\s0 message into the hash provided as argument to armour(). The hash contains Content, Object, and Headers. unarmour() performs several consistency checks and returns a non-true value on failure.
Returns the error message set by unarmour() on failure.
Vipul Ved Prakash, <[email protected]>
Copyright (c) 2001, Vipul Ved Prakash. All rights reserved. This code is free software; you can redistribute it and/or modify it under the same terms as Perl itself.
MIME::Base64\|(3), Compress::Zlib\|(3), Digest::MD5\|(3)