home *** CD-ROM | disk | FTP | other *** search
/ Netrunner 2004 October / NETRUNNER0410.ISO / regular / ActivePerl-5.8.4.810-MSWin32-x86.msi / _00fc691f992a1efdb5cce81aa65e404d < prev    next >
Encoding:
Text File  |  2004-06-01  |  1.2 KB  |  72 lines

  1. package Digest::HMAC_MD5;
  2. $VERSION="1.01";
  3.  
  4. use strict;
  5. use Digest::MD5  qw(md5);
  6. use Digest::HMAC qw(hmac);
  7.  
  8. # OO interface
  9. use vars qw(@ISA);
  10. @ISA=qw(Digest::HMAC);
  11. sub new
  12. {
  13.     my $class = shift;
  14.     $class->SUPER::new($_[0], "Digest::MD5", 64);
  15. }
  16.  
  17. # Functional interface
  18. require Exporter;
  19. *import = \&Exporter::import;
  20. use vars qw(@EXPORT_OK);
  21. @EXPORT_OK=qw(hmac_md5 hmac_md5_hex);
  22.  
  23. sub hmac_md5
  24. {
  25.     hmac($_[0], $_[1], \&md5, 64);
  26. }
  27.  
  28. sub hmac_md5_hex
  29. {
  30.     unpack("H*", &hmac_md5)
  31. }
  32.  
  33. 1;
  34.  
  35. __END__
  36.  
  37. =head1 NAME
  38.  
  39. Digest::HMAC_MD5 - Keyed-Hashing for Message Authentication
  40.  
  41. =head1 SYNOPSIS
  42.  
  43.  # Functional style
  44.  use Digest::HMAC_MD5 qw(hmac_md5 hmac_md5_hex);
  45.  $digest = hmac_md5($data, $key);
  46.  print hmac_md5_hex($data, $key);
  47.  
  48.  # OO style
  49.  use Digest::HMAC_MD5;
  50.  $hmac = Digest::HMAC_MD5->new($key);
  51.  
  52.  $hmac->add($data);
  53.  $hmac->addfile(*FILE);
  54.  
  55.  $digest = $hmac->digest;
  56.  $digest = $hmac->hexdigest;
  57.  $digest = $hmac->b64digest;
  58.  
  59. =head1 DESCRIPTION
  60.  
  61. This module provide HMAC-MD5 hashing.
  62.  
  63. =head1 SEE ALSO
  64.  
  65. L<Digest::HMAC>, L<Digest::MD5>, L<Digest::HMAC_SHA1>
  66.  
  67. =head1 AUTHOR
  68.  
  69. Gisle Aas <gisle@aas.no>
  70.  
  71. =cut
  72.