bonsoir les developpeurs,je voudrais savoir la fonction du langage c qui permet de crypter un mot de passe par exemple
merci d'avance
Version imprimable
bonsoir les developpeurs,je voudrais savoir la fonction du langage c qui permet de crypter un mot de passe par exemple
merci d'avance
Aucune fonction du C ne sert faire cela. Cela passe obligatoirement par des fonctions/librairies externes/système.
Il va falloir en dire un peut plus si tu veux de l'aide. Quel type de cryptage, pour quelle plateforme, quelle application ...
je veux que en tapant mon mot de passe cela se transforme en ******
que est la fonction qui me de faire cela
merci d'avance.
Rien de possible en C standard, car le C standard ne réagit pas tant qu'on n'a pas pressé [entrée].
Par contre, avec curses ou conio, tu peux voir ceci: http://www.developpez.net/forums/sho...d.php?t=235930
dans mes recherches la fonction pour cryster mon mot de passe est crypt dont la syntaxe est:
#include <unistd.h>
char *crypt (const char *clé, const char *salt);
ou clé est la variable donné à ton mot de passe et salt est le mode de crystographie
mais je n'arrive pas à compiler mon petit code que voici
le problème est que quand je compile le message suivant apparaitCode:
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16 #include <stdio.h> #include <string.h> #define _XOPEN_SOURCE_ #include <unistd.h> int main(){ char nom; char pw; char *crypt (const char *pw, const char *A); printf("Entrer votre nom"); scanf("%s",&nom); printf("Entrer votre mot de passe"); scanf("%s",&pw); }
multiple definition of `main'
first defined here
ld returned 1 exit status
C:\Dev-Cpp\Makefile.win [Build Error] [fichier.exe] Error 1
quelqu'un pourait m'aider
NB:mon compilateur est dev c++
merci d'avance
D'abord, ne pas oublier la balise code
Ensuite :Code:
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18 #include <stdio.h> #include <string.h> #define _XOPEN_SOURCE_ #include <unistd.h> int main() { char nom; char pw; char *crypt (const char *pw, const char *A); printf("Entrer votre nom"); scanf("%s",&nom); printf("Entrer votre mot de passe"); scanf("%s",&pw); }
ta variable nom doit recevoir plusieurs caractères donc elle doit devenir
char nom[256];
c'est idem pour le mot de passe pw.
Ensuite, lors de la saisie, comme nom (ou pw) sont des tableaux de caractères, l'adresse d'un tableau c'est le tableau lui même
donc : scanf("%s", nom);
le prototype de fonction crypt(), je le mettrais en haut du code (ou alors même mieux, j'incluerai le .h qui définit cette fonction.
Enfin, en ce qui concerne ton erreur "multiple definition of `main' ", tu dois avoir un problème ailleurs.
Ce qui corrigé donne :
Il y a encore des petites bricoles à dire (genre, ne pas utiliser scanf) mais c'est un débutCode:
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20 #include <stdio.h> #include <string.h> #define _XOPEN_SOURCE_ #include <unistd.h> char *crypt (const char *pw, const char *A); int main() { char nom[256]; char pw[256]; printf("Entrer votre nom"); scanf("%s", nom); printf("Entrer votre mot de passe"); scanf("%s", pw); }
unistd.h sous MinGW ?
Je ne pense pas que ça marche...
je n'utilise pas le compilateur MinGW mais dev c++
mais ça ne marche concernant le cristo de mon mot de passe
quelqu'un pour m'aider!!!
merci
http://www.developpez.net/forums/ima...s/icon_sad.gif
:(
j'ai utilisé la lib de crypt qui est #include <unistd.h>
merci
- unistd.h n'est pas une bibliothèque, mais un fichier d'en-tête.
- MinGW fournit une version de unistd.h, mais pas de fonction crypt() ; elle n'est déclarée dans aucun fichier d'en-tête. La C Run-Time Library (CRT) de Microsoft ne comporte pas non plus de fonction crypt(), et elle est utilisée par MinGW.
En clair, tu ne peux pas utiliser la fonction crypt() sous MinGW: Elle n'est disponible que sous un vrai système POSIX.
quel solution vous me proposez concernant mon problème de mot de passe
merci beaucoup pour vos reponses
qui m'ont appris bcp de chose
Euhhh....que veux-tu faire exactement crypter une chaîne ou masquer la saisie par des étoiles ?
:recherch:
entrer un mot de passe
je veux masquer la saisie par des etoiles
merci
J'ai déjà posté un lien pour ça.