xencrypt, xdecrypt, passwd2des — RFS password encryption

Synopsis

#include <rpc/des_crypt.h>

void passwd2des(char *passwd, char *key);

int xencrypt(char *secret, char *passwd);

int xdecrypt(char *secret, char *passwd);

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.

Return Value

The functions xencrypt() and xdecrypt() return 1 on success and 0 on error.

Versions

These functions are available in glibc since version 2.1.

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.

See Also

cbc_crypt(3)

Colophon

This page is part of release 5.04 of the Linux man-pages project. A description of the project, information about reporting bugs, and the latest version of this page, can be found at https://www.kernel.org/doc/man-pages/.

Referenced By

des_crypt(3).

The man pages passwd2des(3), xdecrypt(3) and xencrypt(3) are aliases of xcrypt(3).

2019-03-06 Linux Programmer's Manual