à l'aide sur langage C s'il vous plait
Résolu
mahasin
Messages postés
81
Statut
Membre
-
Bilow Messages postés 171 Date d'inscription Statut Membre Dernière intervention -
Bilow Messages postés 171 Date d'inscription Statut Membre Dernière intervention -
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
--
Le plus grand arbre est né d'une graîne menue ; une tour de neuf étages est partie d'une poignée de terre.
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
--
Le plus grand arbre est né d'une graîne menue ; une tour de neuf étages est partie d'une poignée de terre.
3 réponses
-
De rien ;)
N'oublie pas de mettre le sujet en résolu... -
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 ! -
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,