The Perl Toolchain Summit needs more sponsors. If your company depends on Perl, please support this very important event.

NAME

Text::Password::AutoMigration - generate and verify Password with any contexts

SYNOPSIS

 my $pwd = Text::Password::AutoMigration->new();
 my( $raw, $hash ) = $pwd->genarate();          # list context is required
 my $input = $req->body_parameters->{passwd};
 my $data = $pwd->encrypt($input);              # salt is made automatically
 my $flag = $pwd->verify( $input, $data );

DESCRIPTION

Text::Password::AutoMigration is the Module for lasy Administrators.

It always generates the password with SHA512.

And verifies Automatically the hash with CORE::crypt, MD5, SHA1 by hex, SHA256 and of course SHA512.

All You have to do are those:

1. use this module

2. replace periodically the hashes in your DB.

Constructor and initialization

new()

No arguments are required. But you can set some parameters.

default

You can set default length with param 'default' like below

 $pwd = Text::Pasword::AutoMiglation->new( default => 12 );
readablity

Or you can set default strength for password with param 'readablity'.

It must be a Boolen, default is 1.

If it was set as 0, you can generate stronger passwords with generate()

 $pwd = Text::Pasword::AutoMiglation->new( readability => 0 );
 

Methods and Subroutines

verify( $raw, $hash )

returns true if the verify is success

nonce($length)

generates the strings with enough strength

the length defaults to 8($self->default)

encrypt($raw)

returns hash with unix_sha512_crypt()

salt will be made automatically

generate($length)

genarates pair of new password and it's hash

not much readable characters(0Oo1Il|!2Zz5sS\$6b9qCcKkUuVvWwXx.,:;~\-^'"`) are fallen unless $self->readability is 0.

the length defaults to 8($self->default)

SEE ALSO

github
cpan

LICENSE

Copyright (C) Yuki Yoshida(worthmine).

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

AUTHOR

Yuki Yoshida(worthmine) <worthmine!at!gmail.com>