CRYPT_GENHASH_IMPL(3C)  Standard C Library Functions  CRYPT_GENHASH_IMPL(3C)
NAME
       crypt_genhash_impl - generate encrypted password
SYNOPSIS
       #include <crypt.h>       
char *crypt_genhash_impl(
char *ctbuffer, 
size_t ctbufflen,            
const char *plaintext, 
const char *salt, 
const char **params);
DESCRIPTION
       The 
crypt_genhash_impl() function is called by 
crypt(3C) to generate
       the encrypted password 
plaintext.
       The 
ctbuffer argument is a pointer to an MT-safe buffer of 
ctbufflen       size that is used to return the result.
       The 
salt argument is the salt used in encoding.
       The 
params argument is an 
argv-like null-terminated vector of type       
char *. The first element of 
params represents the mechanism token
       name from 
crypt.conf(5). The remaining elements of 
params represent
       strings of the form <
parameter>[=<
value>] to allow passing in
       additional information from the 
crypt.conf entry, such as specifying
       rounds information "
rounds=4096".
       The 
crypt_genhash_impl() function must not 
free(3C) ctbufflen on
       error.
RETURN VALUES
       Upon successful completion, 
crypt_genhash_impl() returns a pointer to
       the encoded version of 
plaintext. Otherwise a null pointer is
       returned and 
errno is set to indicate the error.
ERRORS
       The 
crypt_genhash_impl() function will fail if:       
EINVAL                  The configuration file 
crypt.conf contains an invalid
                  entry.       
ELIBACC                  The required shared library was not found.       
ENOMEM                  There is insufficient memory to perform hashing.
ATTRIBUTES
       See 
attributes(7) for descriptions of the following attributes:
       +--------------------+-----------------+
       |  ATTRIBUTE TYPE    | ATTRIBUTE VALUE |
       +--------------------+-----------------+
       |Interface Stability | Evolving        |
       +--------------------+-----------------+
       |MT-Level            | MT-Safe         |
       +--------------------+-----------------+
SEE ALSO
       passwd(1), 
crypt(3C), 
crypt_gensalt_impl(3C), 
free(3C),       
getpassphrase(3C), 
crypt.conf(5), 
passwd(5), 
attributes(7)                                June 10, 2002         CRYPT_GENHASH_IMPL(3C)