String::MkPasswd(3pm) | User Contributed Perl Documentation | String::MkPasswd(3pm) |
String::MkPasswd - random password generator
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, );
This Perl library defines a single function, "mkpasswd()", 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.
The exportable "mkpasswd()" 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.
The "mkpasswd()" function takes an optional hash of arguments.
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 "mkpasswd()" will return "undef". See the section entitled "EXCEPTION HANDLING" for how to change this behavior.
By default, "mkpasswd()" will return "undef" if it cannot generate a password. Some people are inclined to exception handling, so String::MkPasswd does its best to accommodate them. If the variable $String::MkPasswd::FATAL is set to a true value, "mkpasswd()" will Carp::croak() with an error instead of returning "undef".
None by default. The "mkpasswd()" method is exportable.
<http://expect.nist.gov/#examples>, mkpasswd(1)
Don Libes of the National Institute of Standards and Technology, who wrote the Expect example, mkpasswd(1).
Chris Grau <cgrau@cpan.org>
Copyright (C) 2003-2012 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.
2022-10-22 | perl v5.36.0 |