Mark Fickett Art: mkpasswd

Generate a random password with some parameters. Developed on MacOS X, but theoretically platform-independant. Download mkpasswd-2009Dec19.tar.gz or

Example usage ($ is the command prompt):

$ -n 10 -u 1 -l 1 -d 2 -p 0
$ -n 6 -e \"\| -d .2 -p .2
$ --help
Usage: [options]

  -h, --help            show this help message and exit
  -n NUMCHARS, --numchars=NUMCHARS
                        number of characters in the desired password
                        exclude characters found in EXCLUDESTRING
  -l LOWER, --lowercase-weight=LOWER
                        relative weighting for characters in the lowercase set
  -u UPPER, --uppercase-weight=UPPER
                        relative weighting for characters in the uppercase set
  -d DIGIT, --digit-weight=DIGIT
                        relative weighting for characters in the digit set
  -p PUNCT, --punctuation-weight=PUNCT
                        relative weighting for characters in the punctuation

I use this (frequently) to generate random passwords for sites I only expect to log in to once (or, once every six months).

I have, in my .profile:

alias mkpasswd='/path/to/ -p .5'

Weighting is relative to a category's default, as opposed to relative to other categories. For example, there are 26 lowercase letters, and 36 punctuation characters, so default weighting produces more punctuation than lowercase letters. By contrast, -p .5 makes it as though there were only 16 punctuation characters, so punctuation is roughly two-thirds as likely as lowercase letters.

Invented independently from, but very similar to, NIST's / Don Libes' mkpasswd.

Up for licensing.

2009-12-19 / Python Script / 1 file, 79 lines, 2.2K

In: Code