NAME

Crypt::PasswdMD5 - Provide interoperable MD5-based crypt() functions

SYNOPSIS

use strict;
use warnings;

use Crypt::PasswdMD5;

my($password)       = 'seekrit';
my($salt)           = 'pepperoni';
my($unix_crypted)   = unix_md5_crypt($password, $salt);
my($apache_crypted) = apache_md5_crypt($password, $salt);

Or:

use strict;
use warnings;

use Crypt::PasswdMD5 'random_md5_salt';

my($length) = 7;
my($salt_1) = random_md5_salt($length);
my($salt_2) = random_md5_salt(); # Default to $length == 8.

DESCRIPTION

apache_md5_crypt() provides a function compatible with Apache's .htpasswd files. This was contributed by Bryan Hart <bryan@eai.com>. This function is exported by default.

The unix_md5_crypt() provides a crypt()-compatible interface to the rather new MD5-based crypt() function found in modern operating systems. It's based on the implementation found on FreeBSD 2.2.[56]-RELEASE. This function is also exported by default.

For both functions, if a salt value is not supplied, a random salt will be generated, using the function random_md5_salt(). This function is not exported by default.

METHODS

apache_md5_crypt($password, $salt)

This sets a magic variable, and then passes all the calling parameters to "unix_md5_crypt($password, $salt)".

Returns an encrypted version of the given password.

Basically, it's a very poor choice for anything other than password authentication.

random_md5_salt([$length])

Here, [] indicate an optional parameter.

Returns a random salt of the given length.

The maximum length is 8.

If $length is omitted, it defaults to 8.

unix_md5_crypt($password, $salt)

Returns an encrypted version of the given password.

Basically, it's a very poor choice for anything other than password authentication.

Repository

https://github.com/ronsavage/Crypt-PasswdMD5.git

SUPPORT

Bugs should be reported via the CPAN bug tracker at

https://github.com/ronsavage/Crypt-PasswdMD5/issues

LICENSE, AND DISCLAIMER

See the accompanying LICENSE file.

This program is distributed in the hope that it will be useful, but without any warranty; without even the implied warranty of merchantability or fitness for a particular purpose.

AUTHOR

Luis E. Muñoz <luismunoz@cpan.org>.

Maintenance by Ron Savage <rsavage@cpan.org> as of V 1.40.