Я 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 не работает