à 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   -
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.

3 réponses

  1. Bilow Messages postés 171 Date d'inscription   Statut Membre Dernière intervention   117
     
    De rien ;)
    N'oublie pas de mettre le sujet en résolu...
    3
  2. Bilow Messages postés 171 Date d'inscription   Statut Membre Dernière intervention   117
     
    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
    1. mahasin Messages postés 81 Statut Membre
       
      Merciiiii Bien Biloww , je vous remercie,
      0
  3. fiddy Messages postés 441 Date d'inscription   Statut Contributeur Dernière intervention   1 847
     
    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
    1. mahasin Messages postés 81 Statut Membre
       
      merciii bien , oui j'ai fait par ta conseille aussi
      0