doc.txt

Password Generator

Password Generator
==================

By Noel Welsh (noelwelsh@yahoo.com)

Keywords: _password_, _passwords_


Introduction
------------

This library provides functions for generating passwords.
The functions should *not* be used in situations where
security is of utmost importance, as the space of passwords
is not so large as to prevent an exhaustive attack.
However, the passwords are more secure than those used by a
typical user.


Definitions
-----------

> max-length : int

The maximum length of a password, currently 16 characters

> min-length : int

The minimum length of a password, currently 8 characters

> string->password : string -> string

Converts a string to a password, which involves padding or
truncating the string to between min- and max-length, and
adding noise in the form of randomly changing characters to
upper- or lower-case, or converting to l33t-speak
equivalents.

Example:

  > (string->password "Scheme")
  "scheME68"
  > (string->password "Scheme")
  "Sch3mE84"

> make-passwords : int [path] -> (list-of string)

Returns the given number of passwords.  Optionally is given
a path to a dictionary containing words to use, one line per
word.  If no path is given, the function first trys to use
/usr/share/dict/words.  If that file is not found, a local
copy is used.  If that copy cannot be found an error is
raised.

Example:

To make 10 passwords:

 > (make-passwords 10)
 ("gAs5y032" "CoMm15S1On" "aRr3St02" "pArADigms" "1DleR417"
 "SEAM3N03" "cHAnneLed" "cAtchabL3" "S1mIlaRlY" "brEwEri3S")