|
Standard C Library Functions | crypt(3C) |
| crypt - string encoding function |
SYNOPSIS
Default
|
|
#include <crypt.h> char *crypt(const char *key, const char *salt); |
|
Standard conforming
|
|
#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:
-
ENOSYS
- 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 |
Interface Stability | Standard |
MT-Level | Safe |
|
| |