CRYPT.3
上传用户:jnzhq888
上传日期:2007-01-18
资源大小:51694k
文件大小:2k
- 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