Index Index for
Section 3
Index Alphabetical
listing for R
Bottom of page 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 Index for
Section 3
Index Alphabetical
listing for R
Top of page Top of
page