xencrypt, xdecrypt, passwd2des - RFS password encryption
Contents
Attributes
For an explanation of the terms used in this section, see attributes(7).
┌─────────────────────────────────────────────────────────────────────────────┬───────────────┬─────────┐
│ Interface │ Attribute │ Value │
├─────────────────────────────────────────────────────────────────────────────┼───────────────┼─────────┤
│ passwd2des(), xencrypt(), xdecrypt() │ Thread safety │ MT-Safe │
└─────────────────────────────────────────────────────────────────────────────┴───────────────┴─────────┘
Bugs
The prototypes are missing from the abovementioned include file.
Description
WARNING: Do not use these functions in new code. They do not achieve any type of acceptable
cryptographic security guarantees.
The function passwd2des() takes a character string passwd of arbitrary length and fills a character array
key of length 8. The array key is suitable for use as DES key. It has odd parity set in bit 0 of each
byte. Both other functions described here use this function to turn their argument passwd into a DES
key.
The xencrypt() function takes the ASCII character string secret given in hex, which must have a length
that is a multiple of 16, encrypts it using the DES key derived from passwd by passwd2des(), and outputs
the result again in secret as a hex string of the same length.
The xdecrypt() function performs the converse operation.
Library
Standard C library (libc, -lc)
Name
xencrypt, xdecrypt, passwd2des - RFS password encryption
Return Value
The functions xencrypt() and xdecrypt() return 1 on success and 0 on error.
See Also
cbc_crypt(3) Linux man-pages 6.9.1 2024-05-02 XCRYPT(3)
Synopsis
#include<rpc/des_crypt.h>voidpasswd2des(char*passwd,char*key);intxencrypt(char*secret,char*passwd);intxdecrypt(char*secret,char*passwd);
Versions
These functions are available since glibc 2.1.
