NAME

Crypt::Bcrypt::Easy - Simple bcrypted passwords

SYNOPSIS

use Crypt::Bcrypt::Easy;

my $plain = 'my_password';

my $passwd = bcrypt->crypt( text => $plain, cost => '08' );

if (bcrypt->compare( text => $plain, crypt => $passwd )) {
  # Successful match
}

# Generate passwords using a different default workcost
my $bcrypt  = bcrypt( cost => 10 );
my $crypted = $bcrypt->crypt( $plain );

DESCRIPTION

This module provides an alternate interface to App::bmkpasswd's exported helpers (which were created to power bmkpasswd and are a bit awkward).

This POD briefly covers usage of this interface; see App::bmkpasswd for more details.

bcrypt

my $bcrypt = bcrypt( cost => '10' );

Creates and returns a new Crypt::Bcrypt::Easy object.

The default workcost is '08'. This can be also be tuned for individual runs; see "crypt".

crypt

my $passwd = bcrypt->crypt(
  text   => 'my_password',
  cost   => '08',
  strong => 0,
);

Or use defaults:

my $passwd = bcrypt->crypt( 'my_password' );

Create and return a new password hash.

Specifying a boolean true 'strong =>' parameter enables strongly-random salts (see App::bmkpasswd).

compare

if (bcrypt->compare( text => 'my_password', crypt => $passwd)) {
   ...
}

Returns boolean true if hashes match. Accepts any type of hash supported by your App::bmkpasswd; see passwdcmp from App::bmkpasswd.

cost

Returns the current work-cost value.

AUTHOR

Jon Portnoy <avenj@cobaltirc.org>