App-bmkpasswd
view release on metacpan or search on metacpan
bin/bmkpasswd view on Meta::CPAN
$term->setlflag( $term->getlflag | eval("POSIX::ECHO") );
$term->setattr(0);
} elsif ($has_readkey) {
Term::ReadKey::ReadMode(0)
}
chomp $pwd;
STDERR->print("\n");
}
my $timer = $bench ? [gettimeofday] : ();
if ($check) {
if ( passwdcmp($pwd, $check) ) {
print "Match\n", "$check\n";
} else {
exit 1
}
} else {
print mkpasswd($pwd, $type, $bcost, $strong)."\n";
}
if ($bench) {
my $interval = tv_interval($timer);
print " bench: $type, time: $interval\n";
}
__END__
=pod
=head1 NAME
bmkpasswd - bcrypt-enabled mkpasswd
bin/bmkpasswd view on Meta::CPAN
=head1 OPTIONS
-m, --method=TYPE [default: bcrypt]
Types: bcrypt (recommended; guaranteed available)
sha512 (requires recent libc or Crypt::Passwd::XS)
sha256 (requires recent libc or Crypt::Passwd::XS)
-w, --workcost=NUM Bcrypt work-cost factor; default 08.
Higher is slower. Should be a two-digit power of 2.
-c, --check=HASH Compare password against given HASH
-s, --strong Use strongly-random salt generation
-b, --benchmark Show timers; useful for comparing hash generation
--available List available methods (one per line)
--version Display version information and available methods
If PASSWD is missing, it is prompted for interactively.
=head1 DESCRIPTION
Simple bcrypt-enabled mkpasswd.
While SHA512 isn't a bad choice if you have it, bcrypt has the
( run in 0.474 second using v1.01-cache-2.11-cpan-49f99fa48dc )