NAME
crypt — generate hashing encryption
SYNOPSIS
#include <crypt.h>
#include <unistd.h>
char *crypt(const char *key, const char *salt);
Obsolescent Interfaces
char *crypt_r(const char *key, const char *salt, CRYPTD *cd);
void setkey_r(const char *key, CRYPTD *cd);
void encrypt_r(char block[64], int edflag, CRYPTD *cd);
void setkey(const char *key);
void encrypt(char block[64], int edflag);
DESCRIPTION
crypt():
crypt()
is the password encryption function.
It is based on a one way hashing encryption algorithm with
variations intended (among other things) to frustrate
use of hardware implementations of a key search.
key
is a user's typed password.
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, after which the password
is used as the key to encrypt repeatedly a constant string.
The returned value points to the encrypted password.
The first two characters are the salt itself.
Obsolescent Interfaces
crypt_r(),
setkey_r(),
encrypt_r(),
setkey(),
encrypt()
generate hashing encryption.
WARNINGS
The return value for
crypt()
points to data whose content is overwritten
by each call.
crypt_r(),
setkey_r(),
and
encrypt_r()
are obsolescent interfaces supported only for compatibility with
existing DCE applications. New multithreaded applications should
use
crypt().
STANDARDS CONFORMANCE
crypt(): SVID2, SVID3, XPG2, XPG3, XPG4