ebb5a12977 | ||
---|---|---|
cast | ||
sha | ||
HISTORY | ||
LICENSE | ||
Makefile | ||
README.md | ||
apg.c | ||
apgbfm.c | ||
bloom.c | ||
bloom.h | ||
convert.c | ||
convert.h | ||
errors.c | ||
errs.h | ||
getopt.c | ||
getopt.h | ||
owntypes.h | ||
pronpass.c | ||
pronpass.h | ||
randpass.c | ||
randpass.h | ||
restrict.c | ||
restrict.h | ||
rnd.c | ||
rnd.h | ||
smbl.h |
README.md
apg - An automated password generator
apg generates several random passwords. It uses several password generation algorithms (currently two) and a built-in pseudo random number generator.
Default algorithm is pronounceable password generation algorithm designed by Morrie Gasser and described in A Random Word Generator For Pronounceable Passwords National Technical Information Service (NTIS) AD-A-017676. The original paper is very old and had never been put online, so I have to use NIST implementation described in FIPS-181.
Another algorithm is simple random character generation algorithm, but it uses four user-defined symbol sets to produce random password. It means that user can choose type of symbols that should appear in password. Symbol sets are: numeric symbol set (0,...,9) , capital letters symbol set (A,...,Z) , small letters symbol set (a,...,z) and special symbols symbol set (#, at ,!,...).
Built-in pseudo random number generator is an implementation of algorithm described in Appendix C of ANSI X9.17 or RFC1750 with exception that it uses CAST or SHA-1 instead of Triple DES. It uses local time with preci- sion of microseconds and random device (if available) to produce initial random seed.