Entrer Secretement un Mot de Passe en console

Résolu/Fermé
Xpin²
Messages postés
4
Date d'inscription
mercredi 22 juin 2005
Statut
Membre
Dernière intervention
27 juin 2005
- 22 juin 2005 à 18:01
Xpin²
Messages postés
4
Date d'inscription
mercredi 22 juin 2005
Statut
Membre
Dernière intervention
27 juin 2005
- 22 juin 2005 à 22:28
Bonjours !
Voilà, sur une application linux en console, j'aimerai que l'utilisateur rentre un mot de passe, sans qu'il ne soit affiché sur le stdout. Si vous avez une idée ...?

4 réponses

as tu pensé au getchar()? bon je suis d'accord y faut pas se planter
en entrant le mot de passe...
0
oublie ce que je viens de dire. ou alors stocke chaque lettre entrée mais appelle à chaque une fonction de rafraichissement qui va remettre la fenetre du depart.
0
jipicy
Messages postés
40805
Date d'inscription
jeudi 28 août 2003
Statut
Modérateur
Dernière intervention
10 août 2020
4 897
22 juin 2005 à 18:28
Salut,

Utilises la commande "stty" (man stty pour plus d'info).
Entre autre dans le "man" on trouve :
Un `[-]' devant un argument signifie que l'on peut l'inhiber en le
faisant précéder d'un `-'.

Un exemple :
#!/bin/bash
# script.sh

echo "Entrez votre mot de passe :"
stty -echo
read passe
stty echo
echo "Votre mot de passe est : $passe"
exit
;-)
0
Xpin²
Messages postés
4
Date d'inscription
mercredi 22 juin 2005
Statut
Membre
Dernière intervention
27 juin 2005

22 juin 2005 à 22:28
Merci !! Cette methode marche du feu de dieu !!
En effet, dsl je n'avais pas precisé que je programmais en C mais en utilisant popen() çà marche !

avec, comme fichier "pass"
#!/bin/bash
# script.sh

stty -echo
read passe
stty echo
echo "$passe"
exit
Je fais :
char tmp[15];
fgets(tmp, 15, popen("./pass","r" ) );
et le passe qui n'a pas été affiché est rangé dans "tmp". Merci
0