crypt(3C)
NAME
crypt − string encoding function
SYNOPSIS
#include <unistd.h>
char ∗crypt (const char ∗key, const char ∗salt);
DESCRIPTION
The crypt() function is a string encoding function, used primarily for password encryption. It is based on a one-way encryption algorithm with variations intended (among other things) to frustrate use of hardware implementations of a key search.
The key argument points to a string to be encoded (for example, the user’s password.) Only the first eight characters are used; the rest are ignored. The salt is a two-character string chosen from the set [a-zA-Z0-9./]. This string is used to perturb the hashing algorithm in one of 4096 different ways.
RETURN VALUES
Upon successful completion, crypt() returns a pointer to the encoded string. The first two characters of the returned value are those of the salt argument.
Otherwise it returns a null pointer and sets errno to indicate the error.
ERRORS
The crypt() function will fail if:
ENOSYS The functionality is not supported on this implementation.
USAGE
The return value of crypt() points to static data that is overwritten by each call.
The values returned by this function may not be portable among XSI-conformant systems.
ATTRIBUTES
See attributes(5) for descriptions of the following attributes:
| ATTRIBUTE TYPE | ATTRIBUTE VALUE |
| MT-Level | Safe |
SEE ALSO
passwd(1), crypt(3X), encrypt(3C), getpass(3C), setkey(3C), passwd(4), attributes(5)
NOTES
In the case of multithreaded applications, the return value is a pointer to thread specific data.
SunOS 5.6 — Last change: 29 Dec 1996