| Digest-HMAC_MD6 documentation | Contained in the Digest-HMAC_MD6 distribution. |
Digest::HMAC_MD6 - MD6 Keyed-Hashing for Message Authentication
This document describes Digest::HMAC_MD6 version 0.01
use Digest::HMAC_MD6 qw(hmac_md6 hmac_md6_hex); $digest = hmac_md6($data, $key); print hmac_md6_hex($data, $key); # OO style use Digest::HMAC_MD6; $hmac = Digest::HMAC_MD6->new($key); $hmac->add($data); $hmac->addfile(*FILE); $digest = $hmac->digest; $digest = $hmac->hexdigest; $digest = $hmac->b64digest;
This module provides HMAC-MD6 hashing.
newCreate a new Digest::HMAC_MD6. The arguments are
$keyThe key to hash with.
$block_sizeThe block size to use.
$hash_bitsThe number of bits of hash to compute.
The $block_size and $hash_bits arguments may be omitted in which
case they default to 64 and 256 respectively.
hmac_md6Compute a MD6 HMAC hash and return its binary representation. The arguments are
$dataThe data to hash.
$keyThe key to hash with.
$block_sizeThe block size to use.
$hash_bitsThe number of bits of hash to compute.
The $block_size and $hash_bits arguments may be omitted in which
case they default to 64 and 256 respectively.
hmac_md6_hexLike hmac_md6 but return the hex representation of the key.
hmac_md6_base64Like hmac_md6 but return the base 64 representation of the key.
None reported.
Please report any bugs or feature requests to
bug-digest-hmac_md6@rt.cpan.org, or through the web interface at
http://rt.cpan.org.
Andy Armstrong <andy@hexten.net>
Copyright (c) 2009, Andy Armstrong <andy@hexten.net>.
This module is free software; you can redistribute it and/or modify it under the same terms as Perl itself. See perlartistic.
| Digest-HMAC_MD6 documentation | Contained in the Digest-HMAC_MD6 distribution. |
package Digest::HMAC_MD6; use warnings; use strict; use Digest::MD6 qw( md6 md6_hex md6_base64 ); use base qw( Digest::HMAC Exporter ); our @EXPORT_OK = qw( hmac_md6 hmac_md6_hex hmac_md6_base64 );
our $VERSION = '0.01';
sub new { my ( $class, $key, $block_size, $hash_bits ) = @_; $block_size ||= 64; $key = Digest::MD6->new( $hash_bits )->add( $key )->digest if length( $key ) > $block_size; my $self = bless {}, $class; $self->{k_ipad} = $key ^ ( chr( 0x36 ) x $block_size ); $self->{k_opad} = $key ^ ( chr( 0x5c ) x $block_size ); $self->{hasher} = Digest::MD6->new( $hash_bits )->add( $self->{k_ipad} ); return $self; } ### Functional interface
sub hmac_md6 { my $data = shift; __PACKAGE__->new( @_ )->add( $data )->digest; }
sub hmac_md6_hex { my $data = shift; __PACKAGE__->new( @_ )->add( $data )->hexdigest; }
sub hmac_md6_base64 { my $data = shift; __PACKAGE__->new( @_ )->add( $data )->b64digest; } 1; __END__