PROGRAMMATION C

Eric -  
 josch83 -
Bonjour,

J'ai créé un programme en c, dont une partie consiste a envoyer les paramètre "user" et "password".

Ce que je souhaite c'est comme sous linux ds l'authentification, ne pas afficher le mot de passe que l'utilisateur tape.

Merci pour tous.

5 réponses

  1. jisisv Messages postés 3678 Statut Modérateur 936
     
    Il faut regarder la man page
    man 3 termios

    et utiliser une structure termios....
    Le livre de programmation Linux de Matthews et (...) chez Wrox explique bien la manip.
    Sur le site de Wrow Press il doit y avoir moyen de récupérer les sources des
    exemples. Si mes souvenirs sont bons il y a un source qui supprime l'écho sur
    le terminal.

    Johan Daine
    The software said "Requires Windows98, Win2000, or better
    So I installed Unix.
    0
  2. KefKa
     
    sinon on peut utiliser la fonction getpass(), dont le prototype devrait (je dis devrait car ce n'est pas le cas pour tous les compil) etre dans conio.h : getpass(const char *str);
    je suis un peu embrouillé dans mon mail, en fait getpass affiche le const char *str a l'ecran, attend une saisie clavier, et enregistre cette saisie dans la variable qu'elle renvoie . exemple :

    #include <conio.h>
    void main() {
    char *motdepasse;
    motdepasse = getpass("\nEntrez le mot de passe\n");
    }

    le mot de passe ne devrait pas etre affiché lors de sa saisie a l'ecran.

    Sinon, en ce qui concerne la propriété mettre des * a la place des password, c'est juste une proprieté pour les applications windows, dont l'utilisation est vivement déconseillée...
    Il vaut mieux enregistrer la saisie clavier directement dans une variable, et en même temps afficher des * ,voir rien du tout
    voilà , c'est tout. Bye

    KefKa
    on http://www.hackzine.fr.fm
    0
  3. josch83
     
    Une simple petit fonction pour saisir des password sans qu'il ne soit
    affiché à l'écran. Ne pas oublié #include <stdio.h>.

    int get_pswd(char *string_pswd){

    short int key;

    for(key=0 ; key!=13 ; key++){
    *(string_pswd+key)=getch();
    }

    return key+1;
    }

    Bonne chance. :)
    0
    1. Marden
       
      Attention aux espaces et aux tabulations !!!
      0
  4. Vous n’avez pas trouvé la réponse que vous recherchez ?

    Posez votre question
  5. josch83
     
    c'est le forum qui ne fait pas les tabulations et pour les espaces ça va très bine. :)
    0