Linux and UNIX Man Pages

Linux & Unix Commands - Search Man Pages

digest::multihash(3pm) [debian man page]

Digest::MultiHash(3pm)					User Contributed Perl Documentation				    Digest::MultiHash(3pm)

NAME
Digest::MultiHash - XOR based, variable width multiplexing of hashes (a generalized Digest::SV1). SYNOPSIS
use Digest::MultiHash; my $d = Digest::Multihash->new( width => 16, # bytes hashs => ["SHA-512", "Whirlpool"], # see below for arbitrary arguments ); $d->add($data); print $d->hexdigest; DESCRIPTION
This class inherits from Digest::base, and provides generalized digest multiplexing. It will multiplex all calls to "add" to all of it's sub digest objects. Likewise, when the final digest is extracted the digests will be extracted and then XOR'd over eachother according to "width". "width" will default to the width of the first hash if unspecified. "hashes" defaults to "SHA-1" for compatibility reasons. This module is useful for generating keys from passphrases, by supplying the desired width and simply making sure there is enough data from the combined hashes. METHODS
See Digest for the complete API. This module inherits from Digest::base. new This methods accepts a hash reference or an even sized list of parameters named according to the methods. add digest Compute the hash by calling "digest" on all of the subhashes, splitting the result up into "width" sized chunk, and then XORing these together. If the result is not aligned on "width" the result will not be truncated. The shorter string will still be XOR'd with the hash, even if this only affects part of the result. If there are not at least "width" bytes of data in the output of the combined hashes an error is thrown. clone Clones the hash. hashes Get the array of hashes to use. Array values in this will be dereferenced before the call to "new" in Digest to allow passing of arbitrary arguments. Blessed objects (of any class) will be used verbatim. The list of hashes cannot be changed after construction. width Get/set the byte-width to use. SEE ALSO
Digest, Digest::SV1, Digest::SHA1 perl v5.14.2 2009-10-19 Digest::MultiHash(3pm)

Check Out this Related Man Page

SHA1(3) 						User Contributed Perl Documentation						   SHA1(3)

NAME
Digest::SHA1 - Perl interface to the SHA-1 Algorithm SYNOPSIS
# Functional style use Digest::SHA1 qw(sha1 sha1_hex sha1_base64); $digest = sha1($data); $digest = sha1_hex($data); $digest = sha1_base64($data); # OO style use Digest::SHA1; $ctx = Digest::SHA1->new; $ctx->add($data); $ctx->addfile(*FILE); $digest = $ctx->digest; $digest = $ctx->hexdigest; $digest = $ctx->b64digest; DESCRIPTION
The "Digest::SHA1" module allows you to use the NIST SHA-1 message digest algorithm from within Perl programs. The algorithm takes as input a message of arbitrary length and produces as output a 160-bit "fingerprint" or "message digest" of the input. The "Digest::SHA1" module provide a procedural interface for simple use, as well as an object oriented interface that can handle messages of arbitrary length and which can read files directly. A binary digest will be 20 bytes long. A hex digest will be 40 characters long. A base64 digest will be 27 characters long. FUNCTIONS
The following functions can be exported from the "Digest::SHA1" module. No functions are exported by default. sha1($data,...) This function will concatenate all arguments, calculate the SHA-1 digest of this "message", and return it in binary form. sha1_hex($data,...) Same as sha1(), but will return the digest in hexadecimal form. sha1_base64($data,...) Same as sha1(), but will return the digest as a base64 encoded string. METHODS
The "Digest::SHA1" module provide the standard "Digest" OO-interface. The constructor looks like this: $sha1 = Digest->new('SHA-1') $sha1 = Digest::SHA1->new The constructor returns a new "Digest::SHA1" object which encapsulate the state of the SHA-1 message-digest algorithm. You can add data to the object and finally ask for the digest using the methods described in Digest. SEE ALSO
Digest, Digest::HMAC_SHA1, Digest::MD5 http://www.itl.nist.gov/fipspubs/fip180-1.htm COPYRIGHT
This library is free software; you can redistribute it and/or modify it under the same terms as Perl itself. Copyright 1999-2001 Gisle Aas. Copyright 1997 Uwe Hollerbach. AUTHORS
Peter C. Gutmann, Uwe Hollerbach <uh@alumni.caltech.edu>, Gisle Aas <gisle@aas.no> perl v5.8.0 2001-12-30 SHA1(3)
Man Page