crypt()

Закодировать пароль

Прототип:

#include <unistd.h>
char * crypt( const char *key,
const char *salt );

Аргументы:

key
Строка, завершаемая NUL (обычно - пароль, вводимый пользователем).
salt
Двухсимвольная строка, составленная из множества [a-zA-Z0-9./]. Функция не проверяет значение salt, а значения вне данного диапазона могут вызвать неопределенное поведение. Данная строка используется для изменения алгоритма одним 4096 различных способов.

Библиотека:

libc

Описание:

Функция crypt() выполняет шифрование пароля. Она основана на алгоритме DES (Data Encryption Standard) и включает код для предотвращения подбора ключа.


Note: Данная функция проверяет только первые восемь символов key.

Можно получить 56-битный ключ, взяв младшие 7 битов key. 56-битный ключ используется для многократного шифрования строки констант (обычно состоящей из нулей).

Возвращаемое значение:

Указатель на 13-символьное зашифрованное значение или NULL в случае неудачи. Первые два символа зашифрованного значения имеют значение salt.

Классификация:

POSIX 1003.1 X/Open Systems Interfaces Extension

Безопасность использования
Точка остановки потока
Нет
Обработчик прерываний
Нет
Обработчик сигналов
Нет
В потоке
Нет

Предостережения:

Возвращаемое значение указывает на статические данные, которые перезаписываются при каждом вызове crypt().

Тематические ссылки:

encrypt(), getpass(), setkey()

login в Справочнике по Утилитам




Предыдущий раздел: Описание API системной библиотеки