IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

Linux Discussion :

shell : cacher les caractères entrés au clavier


Sujet :

Linux

  1. #1
    Membre averti
    Profil pro
    Inscrit en
    Mai 2007
    Messages
    417
    Détails du profil
    Informations personnelles :
    Âge : 37
    Localisation : France, Loire Atlantique (Pays de la Loire)

    Informations forums :
    Inscription : Mai 2007
    Messages : 417
    Points : 376
    Points
    376
    Par défaut shell : cacher les caractères entrés au clavier
    Voila un programme très simple pour demander un mot de passe
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    #!/bin/sh
     
    read pass
    while test "$pass" != jeremie
    	do echo "mot de passe incorrect, veuillez ressayer"
    	read pass
    done
     
    echo "mot de passe correct, bienvenue"
    Je souhaiterais que lorsque l'on tape le mot de passe, les caractères ne s affichent pas (comme pour un login shell).
    Est ce possible ??

    merci

  2. #2
    Expert éminent sénior
    Avatar de Sve@r
    Homme Profil pro
    Ingénieur développement logiciels
    Inscrit en
    Février 2006
    Messages
    12 721
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Oise (Picardie)

    Informations professionnelles :
    Activité : Ingénieur développement logiciels
    Secteur : Aéronautique - Marine - Espace - Armement

    Informations forums :
    Inscription : Février 2006
    Messages : 12 721
    Points : 31 044
    Points
    31 044
    Billets dans le blog
    1
    Par défaut
    Citation Envoyé par Ashin Voir le message
    Voila un programme très simple pour demander un mot de passe
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    #!/bin/sh
     
    read pass
    while test "$pass" != jeremie
    	do echo "mot de passe incorrect, veuillez ressayer"
    	read pass
    done
     
    echo "mot de passe correct, bienvenue"
    Je souhaiterais que lorsque l'on tape le mot de passe, les caractères ne s affichent pas (comme pour un login shell).
    Est ce possible ??
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    #!/bin/sh
     
    while true
    do
        stty -echo
        read pass
        stty echo
     
        test "$pass" = "jeremie" && break
        echo "mot de passe incorrect, veuillez ressayer"
    done
     
    echo "mot de passe correct, bienvenue"
    Ensuite, pour éviter que ton code shell (lisible par tous) contienne le mot de passe en clair, tu peux y introduire un cryptage via md5sum
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    test `echo $pass |md5sum |cut -f1 -d' '` = "77bdc3facdd2dc66aae0c180171c8f29" && break
    Tant que le mot tapé passé par l'algo md5 ne correspond pas à la chaîne "77bcd3..." (qui est en fait issue de la commande "echo jeremie |md5sum"), cela veut dire que le mot tapé ne correspond pas à "jeremie" (puisque le résultat de md5 est différent cela veut dire que les mots d'origine sont différents). Mais là, le mot "jeremie" n'apparait nulle-part. Et même en connaissant le résultat du hash 77bd..., il est impossible de remonter l'algo pour retrouver le mot d'origine "jeremie"...

  3. #3
    Membre averti
    Profil pro
    Inscrit en
    Mai 2007
    Messages
    417
    Détails du profil
    Informations personnelles :
    Âge : 37
    Localisation : France, Loire Atlantique (Pays de la Loire)

    Informations forums :
    Inscription : Mai 2007
    Messages : 417
    Points : 376
    Points
    376
    Par défaut
    très simpa le cryptage
    et le stty -echo pour désactiver l'imput echo, il fallait connaitre .. :-)

    merci de ton aide

+ Répondre à la discussion
Cette discussion est résolue.

Discussions similaires

  1. Réponses: 0
    Dernier message: 20/12/2011, 06h55
  2. lire les caractères entrés au clavier au fur et à mesure
    Par Decon dans le forum Général Java
    Réponses: 9
    Dernier message: 07/05/2010, 13h19
  3. Test d'un caractére entré au clavier.
    Par beware dans le forum Débuter
    Réponses: 5
    Dernier message: 06/03/2009, 19h25
  4. Lire un fichier : Lire les caractères entre [ et ]
    Par yetimothee dans le forum C++
    Réponses: 5
    Dernier message: 22/08/2007, 22h40
  5. [C#] mémoriser les caractères saisis au clavier
    Par tiboleo dans le forum Windows Forms
    Réponses: 1
    Dernier message: 04/06/2006, 12h25

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo