 |
Index for Section 3 |
|
 |
Alphabetical listing for R |
|
 |
Bottom of page |
|
randomword(3)
NAME
randomword, randomchars, randomletters - Generate random passwords
(Enhanced Security)
SYNOPSIS
int randomchars(
char *string,
unsigned short int minlen,
unsigned short int maxlen,
boolean restrict,
long seed );
int randomletters(
char *string,
unsigned short int minlen,
unsigned short int maxlen,
boolean restrict,
long seed );
int randomword(
char *word,
char *hyphenated_word,
unsigned short int minlen,
unsigned short int maxlen,
boolean restrict,
long seed );
LIBRARY
Enhanced Security Library (libsecurity)
PARAMETERS
string
Points at a user-supplied space to contain a null-terminated password.
minlen
Specifies the minimum length that a generated word can have.
maxlen
Specifies the maximum length that a generated word can have.
restrict
Specifies whether restrictions are to be imposed on the generated word.
This is a boolean integer, where a non-zero integer indications
restrictions and a 0 (zero) indicates no restrictions.
seed
Specifies an initial seed for the random number generator.
word
Points at a user-supplied space to contain a null-terminated random
pronounceable password.
hyphenated_word
Contains the hyphenated version of the generated word.
DESCRIPTION
These functions generate random passwords for use in password selection.
All of them are generated by the system, based on seeds and set in the
function. Such seeds can be created with the drand48(), rand(), or random()
functions.
The randomchars() function places a null-terminated password composed of
random printable ASCII characters into the string parameter and returns the
length of the generated string. The minlen and maxlen parameters denote
the minimum and maximum lengths allowed for string. The minlen parameter
can equal maxlen, but cannot be greater than maxlen, and cannot be
negative. The user space preallocated is at least maxlen for string. The
smaller minlen and maxlen are, the smaller the selection space of random
words.
The restrict parameter is 0 (zero) when no restrictions are placed on the
generated word. It is nonzero when the words generated pass the tests of
the acceptable_password() function. The seed argument specifies an initial
seed for the random number generator used by randomchars().
The seed parameter is used by the function only on the first time it is
called; the parameter is ignored on subsequent calls.
The randomletters() function places a null-terminated password composed of
random lower-case letters into the string parameter and returns the length
of the generated word. The minlen, maxlen, restrict, and seed parameters
are the same as for the randomchars() function.
The randomword() function places a null-terminated random pronounceable
password into the word parameter and returns the length of the generated
word. The hyphenated version of the word is placed in hyphenated_word. The
minlen, maxlen, restrict, and seed parameters are the same as for the
randomchars() and randomletters() functions. The user space preallocated is
at least 2*max - 1 for hyphenated_word.
NOTES
The password generator relies on a random number generator that produces
uniformly distributed integers. Because the password generator invokes the
random number generator many times even for one word, the random number
generator has to produce a uniform distribution. The period (distinct
numbers produced given a particular seed) and number space (range of
possible numbers) must both be large. The drand48() functions are used for
this purpose.
Programs using these functions must be compiled with -lsecurity.
FILES
/etc/passwd
System password file.
/etc/group
System group file.
SEE ALSO
Commands: login(1), passwd(1)
Functions: acceptable_password(3), drand48(3), rand(3), random(3)
 |
Index for Section 3 |
|
 |
Alphabetical listing for R |
|
 |
Top of page |
|