HPlogo HP-UX Reference > C

crypt(3C)

HP-UX 11i Version 2: December 2007 Update
» 

Technical documentation

 » Table of Contents

 » Index

NAME

crypt, crypt_r(), encrypt(), encrypt_r(), setkey(), setkey_r() — 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(const char *key);

void setkey_r(const char *key, CRYPTD *cd);

void encrypt(char block[64], int edflag);

void encrypt_r(char block[64], int edflag, CRYPTD *cd);

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(), encrypt(), encrypt_r(), setkey(), and setkey_r() 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