Entrer Secretement un Mot de Passe en console

Résolu
Xpin² Messages postés 4 Date d'inscription   Statut Membre Dernière intervention   -  
Xpin² Messages postés 4 Date d'inscription   Statut Membre Dernière intervention   -
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

arth
 
as tu pensé au getchar()? bon je suis d'accord y faut pas se planter
en entrant le mot de passe...
0
arth
 
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   Statut Modérateur Dernière intervention   4 896
 
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   Statut Membre Dernière intervention  
 
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