Jump to content United States-English
HP.com Home Products and Services Support and Drivers Solutions How to Buy
» Contact HP
More options
HP.com home
HP-UX Reference > C


HP-UX 11i Version 3: February 2007

Technical documentation

» Feedback
Content starts here

 » Table of Contents

 » Index


crypt — generate hashing encryption


#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);



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.


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().


crypt(): SVID2, SVID3, XPG2, XPG3, XPG4

Printable version
Privacy statement Using this site means you accept its terms Feedback to webmaster
© 1983-2007 Hewlett-Packard Development Company, L.P.