mkpasswd.c documentation $Id: README,v 1.3 2002/11/29 00:29:17 jv Exp $ This is documentation for the updated mkpasswd.c included with a number of ircd, irc services, and non-IRC related programs This version of mkpasswd can create DES, Extended DES, BlowFish, and MD5 passwords, with either randomly generated or user provided salts. Options: -m Generate an MD5 password -d Generate a DES password -b Generate a BlowFish password -e Generate an Extended (BSDi) DES password -l Specify a length for a random MD5 or BlowFish salt -r Specify a number of rounds for a BlowFish or Extended DES password BlowFish: no more than 6 recommended, no less than 4 accepted Extended DES: default of 25 -s Specify a salt, 2 alphanumeric characters for DES, up to 16 for MD5, up to 22 for BlowFish, 2 for Extended DES -p Specify a plaintext password to use -? Get brief help -h Get extended help Without the presence of any parameters, it'll behave like the old mkpasswd, creating a DES password with a randomly generated salt and prompting for the password (without echo). A DES salt is a pair of alphanumeric characters ('.' and '/' are permitted as well), such as 'a4' or 'Td'. An MD5 salt consists of up to 16 (though most implementations limit you to 8) alphanumeric characters (plus '.' and '/'), such as 'tGd' or 'J6d4dfG'. A BlowFish salt consists of up to 22 alphanumeric characters (plus '.' and '/'). BlowFish also specifies a number of rounds*, by default 4. Known bugs: The encryption algorithms supported depend on your system's crypt() implementation. The maximum length of an MD5 salt is limited to your systems crypt() implementation, typically 8. Supported Platforms (Known and tested): Linux glibc (DES and MD5) FreeBSD 3.x (DES (MD5 maybe)) FreeBSD 4.x (DES, MD5, BlowFish, Extended DES) Solaris 2.5-2.6 (DES only) Cygwin 1.1.4 (DES only) Prior Cygwin with the MD5 libcrypt (MD5 only) OpenBSD 2.7 (don't link with -lcrypt) (DES, MD5, Blowfish) Mac OS-X (Darwin) (don't link with -lcrypt) (DES only) NetBSD 1.6 (DES, MD5, Extended DES) OpenVMS (MD5, with the included crypt.c implementation, Purdy) VMS Support works, but it unsupported by me. An MMK build script is included, as well as an MD5 crypt() implementation Other systems probably work, but they haven't been amply tested. * BlowFish's rounds parameter is a logarithm, not an integer value