man String::MkPasswd () - random password generator

NAME

String::MkPasswd - random password generator

SYNOPSIS

  use String::MkPasswd qw(mkpasswd);

  print mkpasswd();

  # for the masochisticly paranoid...
  print mkpasswd(
      -length     => 27,
      -minnum     => 5,
      -minlower   => 1,   # minlower is increased if necessary
      -minupper   => 5,
      -minspecial => 5,
      -distribute => 1,
  );

ABSTRACT

This Perl library defines a single function, CWmkpasswd(), to generate random passwords. The function is meant to be a simple way for developers and system administrators to easily generate a relatively secure password.

DESCRIPTION

The exportable CWmkpasswd() function returns a single scalar: a random password. By default, this password is nine characters long with a random distribution of four lower-case characters, two upper-case characters, two digits, and one non-alphanumeric character. These parameters can be tuned by the user, as described in the ARGUMENTS section.

ARGUMENTS

The CWmkpasswd() function takes an optional hash of arguments.

-length
The total length of the password. The default is 9.
-minnum
The minimum number of digits that will appear in the final password. The default is 2.
-minlower
The minimum number of lower-case characters that will appear in the final password. The default is 2.
-minupper
The minimum number of upper-case characters that will appear in the final password. The default is 2.
-minspecial
The minimum number of non-alphanumeric characters that will appear in the final password. The default is 1.
-distribute
If set to a true value, password characters will be distributed between the left- and right-hand sides of the keyboard. This makes it more difficult for an onlooker to see the password as it is typed. The default is false.
-fatal
If set to a true value, CWmkpasswd() will Carp::croak() rather than return CWundef on error. The default is false.

If -minnum, -minlower, -minupper, and -minspecial do not add up to -length, -minlower will be increased to compensate. However, if -minnum, -minlower, -minupper, and -minspecial add up to more than -length, then CWmkpasswd() will return CWundef. See the section entitled EXCEPTION HANDLING for how to change this behavior.

EXCEPTION HANDLING

By default, CWmkpasswd() will return CWundef if it cannot generate a password. Some people are inclined to exception handling, so String::MkPasswd does its best to accomodate them. If the variable CW$String::MkPasswd::FATAL is set to a true value, CWmkpasswd() will Carp::croak() with an error instead of returning CWundef.

EXPORT

None by default. The CWmkpasswd() method is exportable.

SEE ALSO

<http://expect.nist.gov/#examples>, mkpasswd(1)

AKNOWLEDGEMENTS

Don Libes of the National Institute of Standards and Technology, who wrote the Expect example, mkpasswd(1).

AUTHOR

Chris Grau <cgrau@cpan.org>

COPYRIGHT AND LICENSE

Copyright (C) 2003-2004 by Chris Grau

This library is free software; you can redistribute it and/or modify it under the same terms as Perl itself, either Perl version 5.8.1 or, at your option, any later version of Perl 5 you may have available.