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

NAME

genpass - Quickly and easily create secure passwords

VERSION

version 2.401

SYNOPSIS

genpass [-rlnsv] [long options...]

 Options:
          --configfile      configuration file to read (YAML, JSON, INI, etc.)
    -r    --readable        create readable passwords
    -l    --length          password length
    -n    --number          how many passwords to create
    -s    --special         use special characters (clashes with readable opt)
    -v    --verify          verify types of characters
          --lowercase       what lowercase characters to use
          --uppercase       what uppercase characters to use
          --numerical       what numerical characters to use
          --specials        what characters are considered special
          --unreadable      what characters are considered unreadable
          --usage           brief usage output
          --help            what you're currently reading

DESCRIPTION

genpass creates passwords in a fast and comfortable maner. The idea is to be able to do plenty without necessarily needing to.

The way genpass works is by compiling a list of known characters by types (numerical, lowercase, uppercase, etc.) and a list of unreadable characters - which are basically characters that can be confused with each other (0, O, I, l, 1 and so on). It generates a random by possible characters, excluding the non-readable ones, if any exist.

genpass allows you to pick which characters it will use to create the passwords via the longer options for lowercase, uppercase, numerical, specials and unreadable.

Also, any boolean option (readable, special) can be negated using "no", such as genpass --nospecial which negates genpass --special.

genpass also supports configuration files, so you don't have to remember all your favorite options and insert them each time. First it tries to read a .genpass.yaml in your home folder (works with Linux, BSD, MacOS, Windows and anything File::HomeDir supports) and if that doesn't exist (or is simply unreadable), it looks for a global Unix-style conf named /etc/genpass.yaml.

You will read below how you can specifically ask to read a completely different file instead of the default ones mentioned above.

Read below for more options and examples.

OPTIONS

--configfile

genpass can work with most configuration formats, such as YAML, JSON, INI (Apache) and so on. You can configure any part of genpass and ask genpass to read a configuration file as such:

    genpass --configfile ~/.genpass.yaml

Or a global one as such:

    genpass --configfile /etc/genpass.json

Default: YourHomeFolder/.genpass.yaml, then /etc/genpass.yaml.

-r | --readable

A flag to decide whether passwords should be readable. The purpose of readability is to create passwords you can give to users or read to someone - both of which aren't necessarily good practices, but commonly used.

Readable passwords do not contain the additional type of special characters, which is something to consider. Sometimes it doesn't matter as much (such as a Windows user on a local LAN machine that has no critical data or access anywhere.

    genpass --readable

Since readable is on by default, you can negate this if you want by using the noreadable option:

    genpass --noreadable

This will turn on the special and possibly unreadable characters option.

Please view unreadable below for more details.

Default: on.

-l | --length

The length of the password.

    # create a 50 character long password
    genpass --length 50

    # create a 7 character long password
    genpass -l 7

If your configuration requires a certain variety of characters but you've asked for a shorter password (one which cannot contain that variety), genpass will complain and try to explain what the problem is.

    $ genpass -l 2
    You wanted a longer password that the variety of characters you've selected.
    You requested 3 types of characters but only have 2 length.

Default: 10.

-n | --number

How many passwords to create.

    # generate 30 passwords
    genpass -n 30

Default: 1.

-s | --special

Indicates whether to use special characters or not. This basically means symbols such as period, exclamation mark, percentage sign, etc.

    genpass --special

You can negate this flag by doing:

    genpass --nospecial

Default: no.

-v | --verify

Whether to verify that the variety of characters you requested is included.

Disabling this gains you speed if you create a rather large number of passwords that have a rather large number of characters. Then you don't need to worry as much about having that variety since probability says you probably will.

You can negate this using:

    genpass --noverify

Best to keep it on though.

Default: yes.

--lowercase

Which characters are considered lowercase?

--uppercase

Which characters are considered uppercase?

--numerical

Which characters are considered numerical?

--specials

Which characters are considered special ones?

--unreadable

Which characters are considered unreadable?

This includes a short list of characters that are easily confused and the above sequences are stripped of such characters.

EXAMPLES

    # create a 10 character length password
    genpass -l 10

    # create 30 passwords using all possible characters
    genpass -n 30 --noreadable

    # create 5 new passwords of length of 30, long options
    genpass --number 5 --length 30

AUTHOR

Sawyer X <xsawyerx@cpan.org>

COPYRIGHT AND LICENSE

This software is copyright (c) 2011 by Sawyer X.

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