Provided by: libauthen-passphrase-perl_0.008-3_all bug

NAME

       Authen::Passphrase::MySQL323 - passphrases using the MySQL v3.23 algorithm

SYNOPSIS

               use Authen::Passphrase::MySQL323;

               $ppr = Authen::Passphrase::MySQL323->new(
                       hash_hex => "2af8a0a82c8f9086");

               $ppr = Authen::Passphrase::MySQL323->new(
                       passphrase => "passphrase");

               $hash = $ppr->hash;
               $hash_hex = $ppr->hash_hex;

               if($ppr->match($passphrase)) { ...

DESCRIPTION

       An object of this class encapsulates a passphrase hashed using the algorithm used by MySQL
       from version 3.23.  This is a subclass of Authen::Passphrase, and this document assumes
       that the reader is familiar with the documentation for that class.

       The MySQL v3.23 hash scheme is composed entirely of linear operations.  It accepts an
       arbitrarily long passphrase, and ignores all space and tab characters.  No salt is used.
       62 bits of hash are generated.  Each character influences only a minority of the result
       bits, so similar passphrases of the same length have noticeably similar hashes.

       In MySQL the hash is represented as a string of sixteen lowercase hexadecimal digits.

       Warning: This is not a serious cryptographic algorithm.  Do not use for any security
       purpose.

CONSTRUCTOR

       Authen::Passphrase::MySQL323->new(ATTR => VALUE, ...)
           Generates a new passphrase recogniser object using the MySQL v3.23 algorithm.  The
           following attributes may be given:

           hash
               The hash, as a string of eight bytes.  The first and fifth bytes must have their
               top bit clear.

           hash_hex
               The hash, as a string of 16 hexadecimal digits.

           passphrase
               A passphrase that will be accepted.

           Either the hash or the passphrase must be given.

METHODS

       $ppr->hash
           Returns the hash value, as a string of eight bytes.

       $ppr->hash_hex
           Returns the hash value, as a string of 16 hexadecimal digits.

       $ppr->match(PASSPHRASE)
           This method is part of the standard Authen::Passphrase interface.

SEE ALSO

       Authen::Passphrase, Crypt::MySQL

AUTHOR

       Andrew Main (Zefram) <zefram@fysh.org>

COPYRIGHT

       Copyright (C) 2006, 2007, 2009, 2010, 2012 Andrew Main (Zefram) <zefram@fysh.org>

LICENSE

       This module is free software; you can redistribute it and/or modify it under the same
       terms as Perl itself.