à l'aide sur langage C s'il vous plait

Résolu/Fermé
mahasin Messages postés 46 Date d'inscription mercredi 5 août 2009 Statut Membre Dernière intervention 6 août 2011 - 21 déc. 2010 à 22:31
Bilow Messages postés 1014 Date d'inscription samedi 21 août 2010 Statut Membre Dernière intervention 2 août 2015 - 22 déc. 2010 à 15:48
Bonjour,

j'ai un programme sur langage c et je veux bien savoir comment entrer un mot de passe pour plus de sécurité, c'est à dire le programme doit demander le mot de passe pour n'importe qu'il utilisateur ??????
merci d'avance
j'ai un projet à remettre cette semaine,merci d'avoir m'aider


A voir également:

3 réponses

Bilow Messages postés 1014 Date d'inscription samedi 21 août 2010 Statut Membre Dernière intervention 2 août 2015 117
22 déc. 2010 à 15:48
De rien ;)
N'oublie pas de mettre le sujet en résolu...
3
Bilow Messages postés 1014 Date d'inscription samedi 21 août 2010 Statut Membre Dernière intervention 2 août 2015 117
21 déc. 2010 à 23:38
Salut !

C'est simple :

// Ici le début du code (bonjour, coment allez-vous, ...)
char password_real [] = "ton_mot_de_passe"; // Le vrai mot de passe
char password_entry [30]; // Le mot de passe qu'entre l'utilisateur
printf("Entrez le mot de passe :\n");
scanf("%s", password_entry); // Demande le mot de passe
if(strcmp(password_real, password_entry)){ // S'ils sont différents
printf("Mot de passe incorrect.");
system("pause");
return 0;
}
// Et ici ton programme en toute sécurité !


Voila... Quelques choses à noter :
- Fais attention, si ce programme est très sécurisé, il faut prévoir que l'utilisateur n'entre pas des commandes par l'intermédiaire du buffer overflow. Cherche sur Google ce que c'est.
- strcmp() renvoi 0 si les chaines entrées sont égales, et un autre nombre si elles diffèrent.
- system("pause"); peut être remplacé par d'autres choses, comme un getch() (librairie conio.h). Mais je ne connais pas de moyen stable et portable (system et conio.h ne le sont pas).
- return 0; Come tu veux, tu peux faire un break; tu peux utiliser exit(); ...
- Ce code devrait fonctionner, "devrait" parce que cela fait longtemps que je n'ai plus fait de C. Je suis passé au C++ ;

Voila !
1
mahasin Messages postés 46 Date d'inscription mercredi 5 août 2009 Statut Membre Dernière intervention 6 août 2011
22 déc. 2010 à 14:26
Merciiiii Bien Biloww , je vous remercie,
0
fiddy Messages postés 11069 Date d'inscription samedi 5 mai 2007 Statut Contributeur Dernière intervention 23 avril 2022 1 844
22 déc. 2010 à 08:54
Bonjour,

Même code que Bilow. Par contre, je te conseille de remplacer : scanf("%s", password_entry); par scanf("%29s", password_entry); pour éviter le buffer overflow dont il parle.

Par contre, tout dépend de toi pour savoir à quel point doit être sécurisé le programme. Car un simple désassemblage de ton programme et hop on voit les mots de passe en clair dans ton programme.

Cdlt,
1
mahasin Messages postés 46 Date d'inscription mercredi 5 août 2009 Statut Membre Dernière intervention 6 août 2011
22 déc. 2010 à 14:26
merciii bien , oui j'ai fait par ta conseille aussi
0