.\" Automatically generated by Pod::Man 4.14 (Pod::Simple 3.40) .\" .\" Standard preamble: .\" ======================================================================== .de Sp \" Vertical space (when we can't use .PP) .if t .sp .5v .if n .sp .. .de Vb \" Begin verbatim text .ft CW .nf .ne \\$1 .. .de Ve \" End verbatim text .ft R .fi .. .\" Set up some character translations and predefined strings. \*(-- will .\" give an unbreakable dash, \*(PI will give pi, \*(L" will give a left .\" double quote, and \*(R" will give a right double quote. \*(C+ will .\" give a nicer C++. Capital omega is used to do unbreakable dashes and .\" therefore won't be available. \*(C` and \*(C' expand to `' in nroff, .\" nothing in troff, for use with C<>. .tr \(*W- .ds C+ C\v'-.1v'\h'-1p'\s-2+\h'-1p'+\s0\v'.1v'\h'-1p' .ie n \{\ . ds -- \(*W- . ds PI pi . if (\n(.H=4u)&(1m=24u) .ds -- \(*W\h'-12u'\(*W\h'-12u'-\" diablo 10 pitch . if (\n(.H=4u)&(1m=20u) .ds -- \(*W\h'-12u'\(*W\h'-8u'-\" diablo 12 pitch . ds L" "" . ds R" "" . ds C` "" . ds C' "" 'br\} .el\{\ . ds -- \|\(em\| . ds PI \(*p . ds L" `` . ds R" '' . ds C` . ds C' 'br\} .\" .\" Escape single quotes in literal strings from groff's Unicode transform. .ie \n(.g .ds Aq \(aq .el .ds Aq ' .\" .\" If the F register is >0, we'll generate index entries on stderr for .\" titles (.TH), headers (.SH), subsections (.SS), items (.Ip), and index .\" entries marked with X<> in POD. Of course, you'll have to process the .\" output yourself in some meaningful fashion. .\" .\" Avoid warning from groff about undefined register 'F'. .de IX .. .nr rF 0 .if \n(.g .if rF .nr rF 1 .if (\n(rF:(\n(.g==0)) \{\ . if \nF \{\ . de IX . tm Index:\\$1\t\\n%\t"\\$2" .. . if !\nF==2 \{\ . nr % 0 . nr F 2 . \} . \} .\} .rr rF .\" ======================================================================== .\" .IX Title "Convert::ASCII::Armour 3pm" .TH Convert::ASCII::Armour 3pm "2021-01-06" "perl v5.32.0" "User Contributed Perl Documentation" .\" For nroff, turn off justification. Always turn off hyphenation; it makes .\" way too many mistakes in technical documents. .if n .ad l .nh .SH "NAME" Convert::ASCII::Armour \- Convert binary octets into ASCII armoured messages. .SH "SYNOPSIS" .IX Header "SYNOPSIS" .Vb 1 \& 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(); .Ve .SH "DESCRIPTION" .IX Header "DESCRIPTION" 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 .SH "METHODS" .IX Header "METHODS" .SS "\fBnew()\fP" .IX Subsection "new()" Constructor. .SS "\fBarmour()\fP" .IX Subsection "armour()" 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. \fBarmour()\fR takes a hash as argument with following keys: .IP "\fBObject\fR" 4 .IX Item "Object" An identification string embedded in head and tail strings. .IP "\fBContent\fR" 4 .IX Item "Content" 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. .IP "\fBHeaders\fR" 4 .IX Item "Headers" 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. .IP "\fBCompress\fR" 4 .IX Item "Compress" A boolean parameter that forces \fBarmour()\fR to compress the message body. .SS "\fBunarmour()\fP" .IX Subsection "unarmour()" Decodes an armoured \s-1ASCII\s0 message into the hash provided as argument to \fBarmour()\fR. The hash contains Content, Object, and Headers. \&\fBunarmour()\fR performs several consistency checks and returns a non-true value on failure. .SS "\fBerrstr()\fP" .IX Subsection "errstr()" Returns the error message set by \fBunarmour()\fR on failure. .SH "AUTHOR" .IX Header "AUTHOR" Vipul Ved Prakash, .SH "LICENSE" .IX Header "LICENSE" 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. .SH "SEE ALSO" .IX Header "SEE ALSO" \&\fBMIME::Base64\fR\|(3), \fBCompress::Zlib\fR\|(3), \fBDigest::MD5\fR\|(3)