Administrator Guide

a. Distribute the binaries and library files of the software, together with instructions (in the manual page or equivalent) on
where to get the original distribution.
b. Accompany the distribution with the machine-readable source of the software.
c. Give non-standard binaries non-standard names, with instructions on where to get the original software distribution.
d. Make other distribution arrangements with the author.
4. You may modify and include the part of the software into any other software (possibly commercial). But some files in the
distribution are not written by the author, so that they are not under these terms. For the list of those files and their copying
conditions, see the file LEGAL.
5. The scripts and library files supplied as input to or produced as output from the software do not automatically fall under the
copyright of the software, but belong to whomever generated them, and may be sold commercially, and may be aggregated
with this software.
6. THIS SOFTWARE IS PROVIDED "AS IS" AND WITHOUT ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, WITHOUT
LIMITATION, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE.
slibcrypt Blowfish
This code comes from John the Ripper password cracker, with reentrant and crypt(3) interfaces added, but optimizations
specific to password cracking removed.
Written by Solar Designer <solar@openwall.com> in 1998-2002, and placed in the public domain.
There's absolutely no warranty.
It is my intent that you should be able to use this on your system, as a part of a software package, or anywhere else to improve
security, ensure compatibility, or for any other purpose. I would appreciate it if you give credit where it is due and keep your
modifications in the public domain as well, but I don't require that in order to let you place this code and any modifications you
make under a license of your choice.
This implementation is compatible with OpenBSD bcrypt.c (version 2a) by Niels Provos <provos@physnet.uni-hamburg.de>, and
uses some of his ideas. The password hashing algorithm was designed by David Mazieres <dm@lcs.mit.edu>.
There's a paper on the algorithm that explains its design decisions:
http://www.usenix.org/events/usenix99/provos.html
Some of the tricks in BF_ROUND might be inspired by Eric Young's Blowfish library (I can't be sure if I would think of something
if I hadn't seen his code).
SHA:
SHA-1 in C
By Steve Reid <steve@edmweb.com>
100% Public Domain
Test Vectors (from FIPS PUB 180-1)
"abc"
A9993E36 4706816A BA3E2571 7850C26C 9CD0D89D
"abcdbcdecdefdefgefghfghighijhijkijkljklmklmnlmnomnopnopq"
84983E44 1C3BD26E BAAE4AA1 F95129E5 E54670F1
A million repetitions of "a"
34AA973C D4C4DAA4 F61EEB2B DBAD2731 6534016F
MD5/DES:
/* Functions to compute MD5 message digest of files or memory blocks. according to the definition of MD5 in RFC 1321 from
April 1992.
Copyright (C) 1995,1996,1997,1999,2000,2001 Free Software Foundation, Inc.
This file is part of the GNU C Library.
The GNU C Library is free software; you can redistribute it and/or modify it under the terms of the GNU Lesser General Public
License as published by the Free Software Foundation; either version 2.1 of the License, or (at your option) any later version.
135