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 ...?
A voir également:

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 40842 Date d'inscription jeudi 28 août 2003 Statut Modérateur Dernière intervention 10 août 2020 4 895
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