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)