Files
oldlinux-files/Minix/CD-ROM-2.0/MINIX/MANUALS/CAT3/CRYPT.3
2024-02-19 00:21:39 -05:00

119 lines
2.3 KiB
Groff
Raw Blame History

This file contains invisible Unicode characters
This file contains invisible Unicode characters that are indistinguishable to humans but may be processed differently by a computer. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.
CRYPT(3) Minix Programmer's Manual CRYPT(3)
NAME
crypt - one-way password encryption function
SYNOPSIS
#define _MINIX_SOURCE 1
#include <unistd.h>
char *crypt(const char *key, const char *salt)
DESCRIPTION
The first use of crypt() is to encrypt a password. Its second use is to
authenticate a shadow password. In both cases crypt() calls pwdauth(8)
to do the real work.
Crypt() encrypts a password if called with a user typed key, and a salt
whose first two characters are in the set [./0-9A-Za-z]. The result is a
character string in the [./0-9A-Za-z] alphabet of which the first two
characters are equal to the salt, and the rest is the result of
encrypting the key and the salt.
If crypt() is called with a salt that has the form ##user then the key is
encrypted and compared to the encrypted password of user in the shadow
password file. If they are equal then crypt() returns the ##user
argument, if not then some other string is returned. This trick assures
that the normal way to authenticate a password still works:
if (strcmp(pw->pw_passwd, crypt(key, pw->pw_passwd))) ...
If key is a null string, and the shadow password is a null string or the
salt is a null string then the result equals salt. (This is because the
caller can't tell if a password field is empty in the shadow password
file.)
The key and salt are limited to 1024 bytes total including the null
bytes.
FILES
/usr/lib/pwdauth The password authentication program
SEE ALSO
getpass(3), getpwent(3), passwd(5), pwdauth(8).
NOTES
The result of an encryption is returned in a static array that is
overwritten by each call. The return value should not be modified.
1
CRYPT(3) Minix Programmer's Manual CRYPT(3)
AUTHOR
Kees J. Bot (kjb@cs.vu.nl)
2