Функция Crypt в простой C-программе не работает - PullRequest
0 голосов
/ 20 марта 2019

Я NOOB, пытаюсь выяснить, как передать слово и соль в функцию DES crypt и распечатать зашифрованный (ну, плохо зашифрованный) пароль. Я прочитал страницы руководства и несколько постов здесь (касательно как cyppt, так и набора проблем с трещинами, над которым я работаю), но все еще не уверен относительно того, каким должен быть мой синтаксис для моего кода ниже, который имеет ' неопределенная ссылка на склеп.

#include <stdio.h>
#include <unistd.h>
#include <string.h>
#include <crypt.h>

#define _XOPEN_SOURCE

char *crypt(const char *key, const char *salt);

int main(void) {

    char *password = "lol";

    char *salt = "50";

    char *encrypted = crypt(password, salt);

    printf("%s\n", encrypted);
    return 0;
}

// should print 50cI2vYkF0YU2 per CS50 crack exercise example.

Я проконсультировался со следующими, прежде чем задавать этот вопрос, и до сих пор не понимаю, как заставить работать мой простой пример. http://pubs.opengroup.org/onlinepubs/009695299/functions/crypt.html https://www.quora.com/How-does-the-crypt-function-work-with-some-examples-of-crypt-function-in-C https://cs50.stackexchange.com/questions/23583/cs-des-based-crypt-function функция crypt () в C не работает

...