CRYPT(3C)               Standard C Library Functions               CRYPT(3C)
NAME
       crypt - string encoding function
SYNOPSIS
       #include <crypt.h>       
char *crypt(
const char *key, 
const char *salt);
   Standard conforming
       #include <unistd.h>       
char *crypt(
const char *key, 
const char *salt);
DESCRIPTION
       The 
crypt() function encodes strings suitable for secure storage as
       passwords. It generates the password hash given the 
key and 
salt.
       The 
key argument is the plain text password to be encrypted.
       If the first character of 
salt is "$", 
crypt() uses 
crypt.conf(5) to
       determine which shared module to load for the encryption algorithm.
       The algorithm name 
crypt() uses to search in 
crypt.conf is the string
       between the first and second "$", or between the first "$" and first
       "," if a "," comes before the second "$".
       If the first character of 
salt is not "$", the algorithm described on       
crypt_unix(7) is used.
RETURN VALUES
       Upon successful completion, 
crypt() returns a pointer to the encoded
       string. Otherwise it returns a null pointer and sets 
errno to
       indicate the error.
       The return value points to static data that is overwritten by each
       call.
ERRORS
       The 
crypt() function will fail if:       
EINVAL                  An entry in 
crypt.conf is invalid.       
ELIBACC                  The required shared library was not found.       
ENOMEM                  There is insufficient memory to generate the hash.       
ENOSYS                  The functionality is not supported on this system.
USAGE
       The values returned by this function might not be portable among
       standard-conforming systems. See 
standards(7).
       Applications should not use 
crypt() to store or verify user passwords
       but should use the functions described on 
pam(3PAM) instead.
ATTRIBUTES
       See 
attributes(7) for descriptions of the following attributes:
       +--------------------+-----------------+
       |  ATTRIBUTE TYPE    | ATTRIBUTE VALUE |
       +--------------------+-----------------+
       |Interface Stability | Standard        |
       +--------------------+-----------------+
       |MT-Level            | MT-Safe         |
       +--------------------+-----------------+
SEE ALSO
       passwd(1), 
crypt_genhash_impl(3C), 
crypt_gensalt(3C),       
crypt_gensalt_impl(3C), 
getpassphrase(3C), 
pam(3PAM), 
passwd(5),       
policy.conf(5), 
attributes(7), 
crypt_unix(7), 
standards(7)                             September 28, 2004                    CRYPT(3C)