Если вы работаете в системе Linux, вы можете использовать функцию crypt .Его прототип:
#include <unistd.h>
char * crypt(const char *key, const char *salt);
Вот его описание (man 3 crypt):
Функция crypt () выполняет шифрование пароля на основе стандарта шифрования данных NBS (DES).).Добавлен дополнительный код для предотвращения попыток поиска ключа.Первым аргументом crypt () является строка с нулевым символом в конце, обычно это пользовательский пароль.Второй - в одной из двух форм: если он начинается с подчеркивания (`` _ ''), расширенный формат используется для интерпретации как ключа, так и значения соли, как показано ниже.