README FOR genpass 5.8 ---------------------- genpass creates passwords that are resistant to dictionary attacks (as tested with Crack) but not, usually, overly difficult for humans to memorize, by using word fragments from the system's online dictionary. The point is to combat the temptation to store passwords on sticky notes under keyboards or on monitors. INSTALLATION ------------ In the Makefile, set INST_ROOT to wherever you want the software installed. You may also need to change the INSTALL command, depending on the location and version of "install" on your system. Then run "make install". For the AppleScript, you can use it as is, or compile it with Script Editor. Double-clicking the file should open Script Editor, where you can Save As... a "compiled script" or an "application". Then copy it to an appropriate location for your users. If you change the install location for genpass, you'll need to reset the genpassPath property in the AppleScript. USE --- "genpass -h" prints a usage statement. With no arguments, it generates a single 8-character password, which is printed to standard output. You can generate more passwords with different lengths by using command-line options. On Mac OS X, you can use the GenPass AppleScript to put a GUI on genpass (although I wouldn't say that makes it pretty). That may encourage your users to choose better passwords. As distributed, just double-click on the file in the Finder and run it from Script Editor. If you convert it into an application, then you can bypass Script Editor. Either way, it presents you with a choice of number of passwords and password length, then displays them pre-selected in a window. PLATFORMS --------- genpass has been written for portability to most UNIX systems. It's been tested on the following platforms: - AIX - versions 3.x, 4.x - Darwin/Mac OS X - up to versions 8.x/10.4.x - DYNIX/ptx - HP-UX - versions 10.20 through 11.11 - IRIX - versions 5.x - Linux - Red Hat, versions 5.x through 7.1 - Cobalt Linux - Debian - Caldera OpenLinux - NEXTSTEP/OPENSTEP - versions 3.3, 4.x - Solaris - versions 2.4 through 10 - SunOS - versions 4.1.x CHANGES ------- You're not required by the license to submit changes back to the source, but I'd appreciate portability improvements or enhancements of general applicability. You can email new versions or contextual diffs ("diff -c old_file new_file") to . Some things to keep in mind if you do this: - Formatting - I use tabs for indentation, and sometimes to align code segments for readability. Please do the same. - Please don't use NotePad or some other Windows editor to make changes. Or if you do, get rid of the DOS linefeeds before submitting changes. - Please try to follow the formatting conventions established in the existing code. - Readability - Usually, I will trade off efficiency (of running time or of development time) in favor of readability. - Insert meaningful comments where appropriate. - Portability - All shell scripts are Bourne-compatible. I won't use shell- specific constructs from bash, ksh, etc. - Don't use OS-specific features, pathnames, etc., unless they're guarded by code checking the OS version, or they're in user-settable variables toward the top of the script. CONTRIBUTORS ------------ Leon Towns-von Stauber Smoot Carl-Mitchell (original shell script) Enjoy! Copyright (c) 1996-2007. All rights reserved. See the LICENSE file distributed with this code for restrictions on its use and further distribution. Original distribution available at .