59 lines
2.7 KiB
Plaintext
59 lines
2.7 KiB
Plaintext
This is an implementation of a password hashing algorithm, provided
|
|
via the crypt(3) and a reentrant interface. It is compatible with
|
|
OpenBSD bcrypt.c (version 2a) by Niels Provos and David Mazieres.
|
|
|
|
I've placed this code in the public domain. Please, see the comment
|
|
in crypt_blowfish.c for more information.
|
|
|
|
You can use the provided routines in your own packages, or link them
|
|
into a C library. I've provided hooks for linking into GNU libc, but
|
|
it shouldn't be too hard to get this into another C library. Note
|
|
that simply adding this code into your libc is probably not enough to
|
|
make your system use the new password hashing algorithm. Changes to
|
|
passwd(1), PAM modules, or whatever else your system uses will likely
|
|
be needed as well. These are not a part of this package, but see
|
|
LINKS for a pointer to our tcb suite.
|
|
|
|
Instructions on using the routines in one of the two common ways are
|
|
given below. It is recommended that you test the routines on your
|
|
system before you start. Type "make check" or "make check_threads"
|
|
(if you have the POSIX threads library), then "make clean".
|
|
|
|
|
|
1. Using the routines in your programs.
|
|
|
|
The available interfaces are in ow-crypt.h, and this is the file you
|
|
should include. You won't need crypt.h. When linking, add all of the
|
|
C files and x86.S (you can compile and link it even on a non-x86, it
|
|
will produce no code in this case).
|
|
|
|
|
|
2. Building the routines into GNU C library.
|
|
|
|
For versions 2.1 to 2.1.3, extract the library sources and the crypt
|
|
and linuxthreads add-ons as usual. Apply the patch for glibc 2.1.3
|
|
provided in this package. Enter crypt/sysdeps/unix/, and rename
|
|
crypt.h to gnu-crypt.h within that directory. Copy C sources, header,
|
|
and assembly (x86.S) files from this package in there as well (but be
|
|
sure you don't overwrite the Makefile). Configure, build, and install
|
|
the library as usual.
|
|
|
|
For versions 2.2 to 2.3.2 (and possibly also for some newer ones),
|
|
extract the library sources and the linuxthreads add-on as usual.
|
|
Apply the patch for glibc 2.3.2 provided in this package. Enter
|
|
crypt/, and rename crypt.h to gnu-crypt.h within that directory. Copy
|
|
C sources, header, and assembly (x86.S) files from this package in
|
|
there as well (but be sure you don't overwrite the Makefile).
|
|
Configure, build, and install the library as usual.
|
|
|
|
Programs that want to use the provided interfaces will need to include
|
|
crypt.h (but not ow-crypt.h directly). By default, prototypes for the
|
|
new routines aren't defined (but the extra functionality of crypt(3)
|
|
is indeed available). You need to define _OW_SOURCE to obtain the new
|
|
routines as well.
|
|
|
|
--
|
|
Solar Designer <solar at openwall.com>
|
|
|
|
$Id: README,v 1.4 2004/04/25 23:53:12 solar Exp $
|