.\" Copyright 2003 walter harms (walter.harms@informatik.uni-oldenburg.de) .\" .\" %%%LICENSE_START(GPL_NOVERSION_ONELINE) .\" Distributed under GPL .\" %%%LICENSE_END .\" .\" this is the 3rd type of interface for cryptographic routines .\" 1. encrypt() expects a bit field .\" 2. cbc_crypt() byte values .\" 3. xencrypt() a hexstring .\" to bad to be true :( .\" .TH XCRYPT 3 2019-03-06 "" "Linux Programmer's Manual" .SH NAME xencrypt, xdecrypt, passwd2des \- RFS password encryption .SH SYNOPSIS .B "#include " .PP .BI "void passwd2des(char " *passwd ", char *" key ");" .PP .BI "int xencrypt(char *" secret ", char *" passwd ");" .PP .BI "int xdecrypt(char *" secret ", char *" passwd ");" .SH DESCRIPTION .BR WARNING : Do not use these functions in new code. They do not achieve any type of acceptable cryptographic security guarantees. .LP The function .BR passwd2des () takes a character string .I passwd of arbitrary length and fills a character array .I key of length 8. The array .I 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 .I passwd into a DES key. .PP The .BR xencrypt () function takes the ASCII character string .I secret given in hex, .\" (over the alphabet 0123456789abcdefABCDEF), which must have a length that is a multiple of 16, encrypts it using the DES key derived from .I passwd by .BR passwd2des (), and outputs the result again in .I secret as a hex string .\" (over the alphabet 0123456789abcdef) of the same length. .PP The .BR xdecrypt () function performs the converse operation. .SH RETURN VALUE The functions .BR xencrypt () and .BR xdecrypt () return 1 on success and 0 on error. .SH VERSIONS These functions are available in glibc since version 2.1. .SH ATTRIBUTES For an explanation of the terms used in this section, see .BR attributes (7). .TS allbox; lbw37 lb lb l l l. Interface Attribute Value T{ .BR passwd2des (), .BR xencrypt (), .BR xdecrypt () T} Thread safety MT-Safe .TE .sp 1 .SH BUGS The prototypes are missing from the abovementioned include file. .SH SEE ALSO .BR cbc_crypt (3) .SH COLOPHON This page is part of release 5.04 of the Linux .I 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/.