Convert::ASCII::Armour - 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 ASCII messages suitable for transfer over 6-bit clean transport channels. The encoded ASCII resembles PGP's armoured messages, but are in no way compatible with PGP.
Constructor.
Converts a hash of binary octets into an ASCII 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 MD5 digest of the message body. armour() takes a hash as argument with following keys:
Decodes an armoured ASCII 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, <mail@vipul.net>
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)