Crypter un mot de passe et créer un répertoire

cs_Vinsou Messages postés 16 Date d'inscription mercredi 23 janvier 2002 Statut Membre Dernière intervention 30 janvier 2002 - 30 janv. 2002 à 20:22
cs_Vinsou Messages postés 16 Date d'inscription mercredi 23 janvier 2002 Statut Membre Dernière intervention 30 janvier 2002 - 30 janv. 2002 à 21:21
salut,
je cherchais une focntion qui permetrai de crypter un mot de passe sous linux pour pouvoir l'ajouter dans /etc/passw (dans un script bien sûr).
On m'avait parlé de crypt. J'ai donc fait un "man crypt" sous linux et voilà ce que je trouve:
#define _XOPEN_SOURCE_
#include

char *crypt (const char *clé, const char *salt);

Donc je met ça dans mon petit programme:

#define _XOPEN_SOURCE_
#include

void main()
{
crypt ("test", "td"); // deuxième paramètre est une chaîne de deux caractères pris dans l'ensemble [a-zA-Z0-9./]
}

Et là surprise, la fonction n'existe pas:
# make
g++ -c -I/usr/include/mysql main.cpp
main.cpp:9:21: warning: no newline at end of file
main.cpp: In function `int main (...)':
main.cpp:7: `crypt' undeclared (first use this function)
main.cpp:7: (Each undeclared identifier is reported only once for each
function it appears in.)
make: *** [main.o] Erreur 1
#

Quelqu'un a une idée sur le problème ?

Sinon, je voudrais créer un réperoire en C++. Je me suis dit, ça doit être un truc comme "mkdir" mais je n'ai pas trouvé quels fichiers d'en-tête inclure ni quel est le nom exacte de la focntion.
Pouvvez-vous m'éclairer ?

Merci d'avance

@++

2 réponses

cs_jpeg Messages postés 40 Date d'inscription lundi 17 décembre 2001 Statut Membre Dernière intervention 25 février 2004 1
30 janv. 2002 à 21:17
Comme a l'air de l'indiquer le man de crypt, il me semble qu'il te faut inclure le fichier dans ton source. L'as tu fait ?

Pour ce qui est de mkdir, en attendant de trouver un 'vraie' fonction C/C++, tu peux toujours utiliser la fct system (inclure stdlib.h) :

char monNouveauRep[]="/home/..../MonRep"
char maCommande[256];
strcpy(maCommande,"mkdir ");
strcat(maCommande,monNouveauRep);
system(maCommande);
// et le tour est joué.
0
cs_Vinsou Messages postés 16 Date d'inscription mercredi 23 janvier 2002 Statut Membre Dernière intervention 30 janvier 2002
30 janv. 2002 à 21:21
oui , j'ai bien inclue ce fichier.
Sinon merci pour l'astuce (même si je préfererais trouver une vrai fonction ou j'aurai un meilleur contrôle)

@++
0
Rejoignez-nous