#include <crypt.h>char *crypt(const char *key, const char *salt);
#include <unistd.h>char *crypt(const char *key, const char *salt);
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.
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.
In multithreaded applications, the return value is a pointer to thread-specific data.
The crypt() function will fail if:
The functionality is not supported on this implementation.
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.
See attributes(5) for descriptions of the following attributes:
|ATTRIBUTE TYPE||ATTRIBUTE VALUE|