Museum

Home

Lab Overview

Retrotechnology Articles

Online Manuals

⇒ crypt(3C) — SunOS 5.6

Media Vault

Software Library

Restoration Projects

Artifacts Sought

Related Articles

passwd(1)

crypt(3X)

encrypt(3C)

getpass(3C)

setkey(3C)

passwd(4)

attributes(5)

crypt(3C)

NAME

crypt − string encoding function

SYNOPSIS

#include <unistd.h>

char ∗crypt (const char ∗key, const char ∗salt);

DESCRIPTION

The crypt() function is a string encoding function, used primarily for password encryption.  It is based on a one-way encryption algorithm with variations intended (among other things) to frustrate use of hardware implementations of a key search. 

The key argument points to a string to be encoded (for example, the user’s password.)  Only the first eight characters are used; the rest are ignored. The 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.

RETURN VALUES

Upon successful completion, crypt() returns a pointer to the encoded string.  The first two characters of the returned value are those of the salt argument. 

Otherwise it returns a null pointer and sets errno to indicate the error. 

ERRORS

The crypt() function will fail if:

ENOSYS The functionality is not supported on this implementation. 

USAGE

The return value of crypt() points to static data that is overwritten by each call. 

The values returned by this function may not be portable among XSI-conformant systems. 

ATTRIBUTES

See attributes(5) for descriptions of the following attributes:

ATTRIBUTE TYPE ATTRIBUTE VALUE
MT-Level Safe

SEE ALSO

passwd(1), crypt(3X), encrypt(3C), getpass(3C), setkey(3C), passwd(4), attributes(5)

NOTES

In the case of multithreaded applications, the return value is a pointer to thread specific data. 

SunOS 5.6  —  Last change: 29 Dec 1996

Typewritten Software • bear@typewritten.org • Edmonds, WA 98026