CRYPT_GENSALT_IMPL(3C) Standard C Library Functions CRYPT_GENSALT_IMPL(3C)
NAME
crypt_gensalt_impl - generate salt for password encryption
SYNOPSIS
#include <crypt.h>
char *crypt_gensalt_impl(
char *gsbuffer,
size_t gsbufflen,
const char *oldsalt,
const struct passwd *userinfo,
const char **params);
DESCRIPTION
The
crypt_gensalt_impl() function is called by
crypt_gensalt(3C) to
generate the salt for password encryption.
The
gsbuffer argument is a pointer to an MT-safe buffer of size
gsbufflen.
The
oldsalt and
userinfo arguments are passed unchanged from
crypt_gensalt(3C).
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 value returned by
crypt_gensalt_impl() points to a thread-specific
buffer to be freed by the caller of
crypt_gensalt(3C) after calling
crypt(3C).
RETURN VALUES
Upon successful completion,
crypt_gensalt_impl() returns a pointer to the
new salt. Otherwise a null pointer is returned and
errno is set to
indicate the error.
ERRORS
The
crypt_gensalt_impl() function will fail if:
EINVAL The configuration file
crypt.conf contains an invalid entry.
ELIBACC The required crypt 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_genhash_impl(3C),
crypt_gensalt(3C),
getpassphrase(3C),
crypt.conf(5),
passwd(5),
attributes(7) June 10, 2002
CRYPT_GENSALT_IMPL(3C)